Well, I have had reason with my research to do some Java development. No biggie, Xcode supports Java too, right? Wrong! well mostly. This all came to a head when I downloaded the latest beta of Xcode (which I am only using because these fix a serious performance issue with the non-beta releases). After the last download, I found 4 distinct bugs in 2 hours, and I’m still finding them. Two of these are Java related, so I gave up, and looked for alternatives.
I found Eclipse very quickly. It is very nice, and runs circles around Xcode in terms of usability. It subscribes very heavily to the windows UI design, which I despise, but it works, which is more than I can say for Xcode. Just to summarize the things that Xcode does wrong:
- The code sense completion fails all the time
- Stopping the debugger never kills the java process (which must then be killed with a -9, causing sockets to not close nicely)
- The compiler error messages are cryptic at best (such that if I didn’t know exactly what I was doing in Java, I’d never figure it out)
- The debugger cannot find any source files unless I have previous set breakpoints in them
- The compile process has no progress indicator, since it uses an external make
- The compiler can get stuck in a circular dependency without any clue how to resolve it (I can reproduce this, 100% of the time, with code conforming to the Java spec).
- A myriad of other little things
So, if you use Xcode for Java development, do yourself a favor and stop. I would even go as far as to say if you only use the dev tools for Java development, just trash them and save yourself several gigs of space. I think this just demonstrates that Apple doesn’t care in the least about Java, so don’t expect them to do anything in terms of support. I wish I was wrong about this, but I am afraid this is truly the case.
sclough - Jun 16, 2008
You might also want to give Netbeans a whirl. I haven’t used it in ages (I use Eclipse as well), but I hear they have been giving attention to the Mac version.
scottd - Jul 1, 2008
If you are writing GUI apps I highly recommend Netbeans. It is a breeze to use and is pretty slick. On the other hand, for non-GUI apps I find Eclipse to be the way to go. Eclipse is just a very solid editor, but for GUI development it isn’t all that hot.