I'm using a macbook. Obviously I'm using Mac OS. Not so obviously actually - recently I saw a few people using Windows 7 on a macbook.
JDK. Developing java applications on a Mac OS is not so straightforward as it is on windows. When you start on Windows, the first thing you do is download the JDK - that's easy. On Mac OS you don't have a real JDK, you have Java for Mac OS X. It's not the same. It's always late. Using SoyLatte they made a darwin port called openjdk6 that is a lot more like a real JDK. With JavaSE 7 it's even worse - there are binaries for Windows, on Mac OS one has to build it manually which is not that easy.
Eclipse. Then there's Eclipse. Thank god - there's an Eclipse.dmg that is pretty easy to install. But (there's always a but), the shortcuts are a bit changed. Alt+Shift+X becomes ⌘+⌥+X. There's also the speed issue - Eclipse is not as fast on Mac OS as it seems on a Windows machine.
Browsers. One major setback is that if one does front-end, one needs Internet Explorer to test. Otherwise QAs come and kick one's ass because something doesn't work on IE6 for example. I hate Internet Explorer. Not only IE6, all of them.
Configuration. In my project I have:
File file = new File(element.replace("file:", "")); |
my Windows-using colleagues have
File file = new File(element.replace("file:/", "")); |
The good thing is that since Mac OS is unix-based I have the settings that are closer to the Ubuntu we deploy our production on.
I don't know - maybe I should buy a new Macbook with a fast SSD with a lot more juice into it than the one I have now (a two-year-old one that hasn't been reinstalled since). Now there's the question - should I buy the 13" or the 15"?
P.S. The things are getting a lot better. OpenJDK6 port is pretty mature (I use it), OpenJDK7 port is coming soon. Apple donated it's JavaSE port to Oracle, so soon Java's download page would feature a .dmg file, which will be awesome.
Still I think developing java apps on a macbook is a bit harder than on a Windows machine. I wouldn't go back to Windows because of the awesome hardware and because the OS is so much better for anything else.
I have the same experiences as you described, that's why I hate Java so much. Remember the "write once, run anywhere" slogan? And all anti-MS people loved it. Forget Java and write a native Mac app, then you will be happy.
I'm not writing front-end software for Mac OS. I wouldn't use java as a gui platform for any operating system - it's just not good for desktop applications. The only semi-successfull desktop application I've seen is Eclipse and they had to write SWT for it.
My point of view was more about the writing of java software on a Mac, not running it. It's not as good as on windows, but it's getting better.