Thinking loud about Eclipse and Netbeans
As Eclipse came out it was a revelation for me. It was lean, fast and came with refactoring. These time there was nothing comparable. The commercial "enterprise" tools were overbloated with unnecessary functionality - at the same time essential things like refactoring just didn't work. Eclipse was the solution and the escape. I actually managed to convert many developers from using e.g. Visual Cafe or JBuilder to Eclipse. Netbeans these days was actually not usable (for me). There were many developers who really liked Netbeans 3.X - but I cannot understand this. Eclipse was just times better. I even tried ForteJ - a commercial variant of Netbeans these days, but some really strange concepts like "mounting Jars" instead of setting up a classpath maked me to go away. I even used Eclipse in official Sun courses on Solaris - the students liked it. What I liked and still like in Eclipse is the puristic IDE, which can be easily extended. It was the directly opposite to the commercial, overblown enterprise tools which were used these days. I switched completely to Netbeans since about version 5.0, not because it is better, but more complete for my needs. I'm working as a consultant, so I had several installations of Eclipse installed, everyone was adjusted for the particular customer. The "plugin hell" begun. I spent to much time to install everything I needed, Netbeans comes with everything I need - and in 99% of all cases my projects could be easily opened by other developers. In Eclipse world there is a lot of overlapping functionality, which is good and bad at the same time. E.g. commercial plugins like MyEclipse overlapp partially with WTP and are/were incompatible with others like EMF. I spent more and more time to figure out such interferences . However I still like the puristic approach of Eclipse and the complete "out-of-the-box" Netbeans experience and started to search for parallels.
The Eclipse model works very like Linux. You have a base, compatible system which can be easily extended, but if like to have more comfort, you should rely on distributions. And Eclipse is working in similar manner. There are already many Eclipse distributions (Yoxos, Codegear, Easyeclipse, Myeclipse) which provide a compatible set of plugins, which can be used for a certain purpose and safe a lot of installation time. However the chances are high, that there will be some fraction moving a project created from one distro to another (Just like porting one linux application between different distros), and you are already somehow dependent on the distros as well.
Netbeans model on the other hand is similar to the Mac or openBSD (with Application Packages) experience. You get not only the base system, but the extensions from one source as well. So the amount of Netbeans plugins/extensions is significantly slower, because everything what you really need is already part of the basic download. Although I prefer Linux over Mac and work with Windows :-) (another story), in the IDE space I enjoy the easy of installation and compatibility between different Netbeans projects. I'm even able to work with daily builds easily - no additional installation of plugins is required. I actually have only few plugins installed on top of Netbeans 6.0 Web & Java EE "edition" (UML, Maven and JavaFX), everything else what I need comes with the download. What I also enjoy now is the pace of development in Netbeans land. It reminds me at the early eclipse days, when I looked forward to every new milestone and installed it immediately. It's a lot of fun.
In Netbeans 6.0 even the Profiler and Visual Pack are part of the main download, so you can rely on such functionality as well. In Netbeans 5.5.X days you had to download an additional "Pack" for this purpose. The Netbeans extension mechanism is intuitive as well. You can use the search option to find an extension, without knowing from which URL it is actually downloaded (e.g. the UML-support is a good candidate). Even the update mechanism works similar to the Mac. Instead of downloading a new version from netbeans.org, a small icon appears which lets you install the patches incrementally. It works well so far (the first patch for Netbeans 6.0 is available through this channel).
Btw. you can use Netbeans without the extensions as well. Then the download takes only 21MB (just check out the Java SE edition) and the startup of netbeans becomes lightning fast. Btw. if you like to find more about the "out of the box Java EE 5 power" - in Munich at 24.01.2008 I will give a talk about Java EE 5, Patterns, Architectures with (but not about) Netbeans 6.0.
Mounting jars was nice (and a key NetBeans concept too) ! ;)
Posted by Alexis MP on December 24, 2007 at 05:36 PM CET #
Just use Intelli www.jetbrains.com, The Purist IDE, beats both of thos by a large margin.
Posted by Steve on December 25, 2007 at 03:35 PM CET #
you are propably right. The problem is - regardless how "cheap" IntelliJ is - it is always hard to introduce commercial software - at least in commercial companies... Sometimes it can take weeks or even months, just to approve few euros :-),
Posted by Adam Bien on December 25, 2007 at 09:49 PM CET #
mounting jars was perhaps just too exposed for me this time :-),
Posted by Adam Bien on December 25, 2007 at 09:50 PM CET #
The article hits the bull's eye - Eclipse has mutated to a huge OS-like software suite that becomes harder to manage the older and the more complete it is. Great comparison! :-)
BTW, in our company it was decided NOT to buy IntelliJ licences for the new version 7, as the differences between version 6 and 7 were considered too small. Yet another drawback of commercial applications.
So I am using IntelliJ6 where I really NEED it, and Netbeans 6 for new projects.
Eclipse and its 'working directories', 1000 key combinations, plug-ins that do not really work with version x.y ... is, from my point of view, currently going south!
Posted by George on December 26, 2007 at 01:14 PM CET #
last week, i tried to switch from eclipse to netbeans 6 at work...however i failed cause i couldnt connect via extssh to a cvs server...
i ve been missing some ssh key settings which eclipse offered(s) me...
Greetings from Sweden...
Posted by daniel on December 26, 2007 at 08:47 PM CET #
I'm using Subversion, no more cvs. However just contact me via email, and I will try to help you (or find someone who still works with CVS and Netbeans 6.0 :-)).
Greetings from Germany - but I like really Sweden. Even the cover from my first book is a picture of the Alsborg bridge in Gothenborg :-)
Happy New (Netbeans) Year!!!,
Posted by Adam Bien on December 31, 2007 at 01:44 PM CET #
Well-written article indeed. I took the jump off Eclipse to NetBeans 6.0 some months ago and haven't regretted it so far. Excellent maven2 integration is what drew me here, and I just decided to stay because of a whole load of small yet helpful features ("favorites" view, "Services" configuration, data access, ...) that make a difference in every day work. The only thing so far I really miss is the power of Eclipse's QuickFix, but on the other side, the NetBeans community seems nicer and more helpful in many respects. :)
Cheers from Dresden,
Posted by Kristian on January 09, 2008 at 04:03 PM CET #
NB's Maven Integration is great indeed. I use it to build Glassfish with TopLink - and works really good so far. I was even surprised by the performance. GlassFish comes with several thousands files and many projects. After the initial scan, the performance was really great.
Thank you for the nice post!
Posted by Adam Bien on January 11, 2008 at 12:25 PM CET #
I used to hate NetBeans (I worked for Sun at the time - how ironic!). However, it has developed into an awesome editor for JEE projects. I still use eclipse, but only for straight java editing. With eclipse I am sometimes in plugin-dependency-hell... I used IntelliJ IDEA a couple of times but there is nothing that will make me pay $400+ for it.
Posted by Axl Mattheus on March 31, 2008 at 10:16 PM CEST #