New Location

My website has moved to http://www.jasonwhaley.com. Please visit there for the latest and only remain here for legacy content.

Sunday, November 30, 2008

The Elegance of Netbeans

I have been an Eclipse user for probably 90% of the time I have done anything with Java. I started with Eclipse because at the time I began with Java in late '05, Eclipse had released a seemingly polished version 3.0 the year before, and my only other free option was Netbeans - a fact that remains true today, in terms of full featured ide's. Netbeans 4.x at the time I tried it didn't seem polished, was clunky, and had literally no useful plugins. Eclipse, on the other hand, had plenty. The only advantage I felt Netbeans ever had was in the basic EE web development realm, where writing webapps using plain old servlets and jsps was a tad bit easier and did not involve Eclipse's WTP, which itself was a plugin not quite ready for prime time.

Now, let us fast forward three years. Up until a few weeks ago I would have still considered myself an Eclipse user - despite the fact I have not written much Java code this year at all. I even half defend Eclipse in front of a bunch of Intellij Idea fanboys on irc (these tend to be the worst of the ide zealots). But there was a bit of a buzz building back up around Netbeans again. I heard it mentioned several times on the Java Posse podcast and saw talked about with a bit more frequency on irc, forums, and news sites. I decided to give it a whirl this weekend.

What I discovered was an ide that seem extremely polished, had useful plugins, and outstanding Maven2 support. m2eclipse is nice but feels convoluted. Netbeans maven integration, on the other hand, was about as simplistic and direct as one could have imagined it - there isn't even a need to run a `mvn netbeans:netbeans` or something similar to generate a Netbeans project from a POM. The ide also has profiling built in, which I haven't checked out just yet, but is a big win. Ultimately, there was just something fresh about this ide that I have not experienced with eclipse and with my quick trial of a rather buggy Idea 8. In addition Netbeans seems to have great support for other languages (ruby, c, etc.) that also felt a bit clunky in eclipse, and seems non-existant in Idea 8, from what I can gather. But ultimately it comes down to freshness - but I could not pin-point exactly what it was that was so fresh about it.

Then, probably after 3 hours of use, the source of that freshness hit me. I work on an OS XMac now, and I use it now mostly out of elegance. The UI on OS X for pretty much everything is simplistic, direct, beautiful and functional for 95% of things, and the remaining 5% is made available if you are the power user type and enjoy keeping a bash terminal open at all times, like myself. Netbeans 6.5 feels exactly like it is a native, prebundled OS X app. The look and feel is polished, the menus are grouped and nested in logical fashion, and the preferences dialog does not feel like labrynth - changing the editor font or adding a jdk is about as simple and direct as one could ask for.

My original plan was give the lateat Idea release a whirl and see if I enjoyed it, but I have pulled a complete about face and have switched my trial over to Netbeans. Unfortunately, the 3rd party Android plugin for Netbeans is not feature complete like the Eclipse one and I will be using much more of the Atlassian suite soon which has plugins for eclipse and not Netbeans, I'll still probably keep Eclipse as my primary working ide. However this won't keep me from doing all of my other work in Netbeans if at all possible.

So to Sun, I say congrats for putting a very nice product out on the market in the ide space.

No comments: