Ask HN: What is your favorite Java IDE?
I am new to the world of Java. I have written a ton of code in C++/Python but somehow I find my usual tool Vim not as usable for writing Java code. Since I cant get away without writing Java code, I would greatly appreciate some recommendations on good Mac OSish IDEs apart from the monster in the room (Eclipse). I tried Eclim but it didn't exactly work as well I expected it too.
9 comments
[ 2.9 ms ] story [ 35.5 ms ] threadNow that I got that out of the way,
80% of people are going to say Eclipse. 10% are going to say Netbeans 10% are going to say IntelliJ
I personally like Netbeans, I was a little worried when Oracle took it over, but so far they have been pretty good with the Netbeans project. I like Netbeans because it feels "bolted together" it feels like the IDE was built on a cohesive vision, where Eclipse many times feels cobbled together to me.
If you don't like monster IDE's then you will probably have some heart burn with all three and most Java IDE's most are trying to provide enterprise tooling because that is Java's core market. Given that they have to target that market to get any mindshare you get a lot of bloat. To me though I would say IntelliJ and Netbeans stay out of you way more than Eclipse does. I also like Netbeans because I do quite a bit of JavaScript work and Netbeans has the best Javascript development and debugging support out of the 3.
If you're writing core Java, like a library or something, a text editor ought to do. You could also try IntelliJ community edition.
If you're doing JEE, Spring, OSGi, or mobile stuff, you'll actually want a true IDE. Don't think it's unclean to use one. Consider the IDE part of your toolchain. It's not so much the code completion and syntax highlighting as it is management of deployment descriptors, artifact formats, configuration management, and integrated build and deploy functionality.
If you want to get started with good, out-of-the-box functionality, go with NetBeans. It feels very integrated (that's the I, right?) and it has project templates with sane structures for almost every type of application you're going to build.
Eclipse has similar templates, but it's more of starting point that requires customization to really get rolling.
If you're new, see how NetBeans feels. Later down the line, when you're more comfortable with all of the internals of how JEE works, I'd recommend going back to Eclipse and looking at it with your new knowledge. Things will make a little more sense.
I've heard good things about IDEA, but I've never done more than relatively simple work with it and can't speak to its benefits over Eclipse or any other IDE.