If you aren’t a Java Programmer, maybe you are unaware about the fight between the Netbeans and Eclipse IDEs. They are the most popular open source Java IDEs nowadays, where each one produces new challenges to be achieved by the other one in every new version available. Personally, I’m an Eclipse’s fan, but my mind started to change some months ago.

Actually, my first good experience programming in Java was with Forte for Java (Now Netbeans after being acquired by SUN), but when the Eclipse version 2.0 was delivered (the first version was terrible), I started to work with it until now without interruptions because of performance reasons. But, the Forte experience was strong and for each Netbeans’ release announced I tried to evaluate it, checking if it’s possible to change IDEs. Unfortunately, the experiences were not so good. I spent most of the time in the code and all Netbeans’ promises about productivity was not about code. Eclipse has an excellent Java editor and I always take it in consideration.

Some months ago I started to evaluate Netbeans again. This time with the 6.0 beta 1. I should say that finally Netbeans is a serious option to be considered. It is useful, has a nice look, implements more functionalities, more languages but, on the other hand, it is even slower than version 5, and the project’s people insist that it is faster. I don’t know what they mean, but I recommend a very powerful machine to work with it productively.

The main advantage of the Netbeans IDE is the great support for the new Java 6 and JEE features, something that it is not covered by Eclipse very well. So, you have to install a third-party plug in to be productive and, usually, they are not for free. Now, Netbeans is more modular in a way that the programmer can select the best combination of resources. For instance, if you work only with web applications, there is a special version for you. It is true for those who focus on mobility, desktop applications, ruby, C/C++ or everything at same time.

Of course, there are some negative points:

  • Versioning: It is very easy to work with CVS or Subversion. They are already integrated in the IDE. But, the simplicity is also a problem, because sometimes we want to do some fine adjustments and it is not easy. For instance: I tried to change my password to connect with the Subversion repository, but to do it I have to explore carefully the IDE’s options until I find the parameters in one of the last tabs of the miscellaneous area. Why can not we do it directly from a menu item in the versioning menu?
  • Component Libraries: Finally a good support for Java docs. You can use a component and associate its Javadoc to visualize the content during the work in different ways. The problem is that it’s not self evident how to set up a new javadoc and you will spend some time to do that. What is the first thing that you do when you need help about the IDE? (after Google) You will consult the help menu. So, that is the best place to give access to documentations and to add new documentations.
  • Slow Startup: We are in a multi threading world. Why not load modules on demand? Why do I have to wait for all modules to load if I will work only in a desktop application?

There are many other possible refinements, but none of them is so bad to make you give up the Netbeans IDE again. Taste it and give me your opinion.