Bozhidar's Blog

Monday, July 07, 2008

NetBeans 6.1 - not even 10% a useful IDE

I am forced to work with NetBeans (6.1) from time to time (actually, everyday). We are creating a Desktop app, and hence NB's Matisse is a good idea.
But.. recently I started using only Matisse, and when I finish drawing, go back to Eclipse. Why? Well,

  • NetBeans is becoming rather slow, gets stuck randomly - on copy/paste, on autocomplete, on loading the projects, on pressing a shortcut. Note that my machine is Core2Duo 2.2, 2G of RAM, so not a weak one.

  • indexing of files is obviously not working as it should - when trying to Open Type (CTRL + SHIFT + T, from eclipse shortcuts) half of the classes are just not there. And I have to manully locate them in the project explorer. Furthermore, the suggestions are rather stupid. Classes that appear on the first lines are completely unrealated to the project. (See Eclipse for the better implementation)

  • some stupid caching. I updated a project (we are using 4 separate projects, in order to separate functionality), and then it wouldn't run. It turned out a jar has been removed by one of my colleages. He added it, and committed. I updated, the project properties file WAS updated, but when I rightclick>properties, the jar isn't there.

  • refreshing errors - the red dots here and there in the project explorer are not where they should be. They are updated only when one opens the file, and sees that - hey, there are no errors here. Also, today I removed a class, that was reduntant (merely extending some jdk interface). There were places, where the red dots appeared, and I corrected the usages. However, when I tried to run, not much to my surprise actually, the compiler comlained about 2-3 other places, where red dots do not exist. The cool thing is that I've been running with such hidden compilation errors for 2 days - obviously they have been cached in the build as well.

  • missing key features. Like on commit, selecting which files to commit and which not. Such basic stuff should not be missing from production-stable IDE. Another thing is that, to my knowledge, they don't have call and class hierarchies.




So, in short - NetBeans can NOT be used in production, unless one slowly goes around with the mouse, and uses only 2-3 options.
No matter how much extras and plug-ins they create, if the base, and most used functionality is working so bad, I doubt NB will soon become a useful IDE.

I have always wondered why there are developers that seem to like NB very much -- are they searching for classes by unfolding packages in the project explorer, or copying using the mouse, or running "Clean" on every base class modification or removal of class?