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?

6 Comments:

  • You don't think these problems may be a problem in your set up or something similar? Have you tried writing about these problems to the related mailing list? Have you filed issues for any of these problems? Do you seriously believe that anyone in the world would be using this IDE if all of the above items were to be true?

    By Blogger Harris, at 4:49 AM  

  • Well, in case the ordinary "next->next->install" setup makes the software buggy, then I still am not in favour of using it.
    And it's not only me that's complaining - two other colleagues are also.

    By Blogger Glamdring, at 9:01 AM  

  • Yeah large project based on Matisse can be annoying but believe me the productivity that NB provides still outweighs all of what you are pointing at. Every IDE has its flaws too. I hear ppl complaining about Visual Studio too at times. Edit your etc/conf and maybe add more heap size or something. we recently launched a product in our company using Matisse and we learnt to live with the slowness of Matisse over time. What we do is simply close all GUI files and restart NB. The speed catches us again. Its a FREE product with great FREE capacity. Work around the problems.

    By Blogger Unknown, at 9:26 AM  

  • Yeah - I agree with this, actually. I don't have quite the same gripes, but I do have similar ones, especially about performance and odd quirks. It's a frustrating IDE to use because it seems like there's so much potential but which never quite gets realized.

    @harris
    I don't think your questions go very far - my setup? Okay. But I think of tweaking setup for performance only, not for quirky bugs. And how much time should I spend tweaking before enough is enough? Why can't it Just Work? Have I filed issues? Ugh. If I don't like the result in the first place, why do I now need to deepen my commitment to something I'm not enjoying in order to file issues? Yeah, yeah, open source, save the world, but I do need to get some work done. Do I seriously believe that anyone in the world would be using the IDE with all these problems? Yeah. I do. Sure. Masses of people make mistakes all the time. Every day. In this case people might be settling for something that's just okay when they could be doing a lot better if they didn't listen to communityspeak.

    @dabar
    Yeah - every IDE has flaws - but not as many as NetBeans. Every time I try it I end up going back to Emacs or Vim, because they Just Work. Yes, they both require miles of setup and they both have a learning curve that looks like a skyscraper, but once you know what you're doing, they Just Work, they're fast, and they get the job done.

    By Blogger GMc, at 10:39 AM  

  • Regarding customization, NetBeans provides quite a few means to tweak the setup. As an instance in case you may want to take a look at this thread. Also, NetBeans is made available in different bundles to satisfy different needs. For instance, if a user is interested only in developing standalone java programs, then the user can simply download the 'Java SE' bundle, which is quite thin, since it does not include other modules like web development. There is also a FAQ available that may be useful.

    One known problem with NetBeans is with caching; as you pointed out, sometimes the settings get corrupted. You may want to take a look at the blog entries here and here.

    Regarding the red dots issue in the editor, the implementation indeed was quite broken in NetBeans 6.0, reported by users in issuezilla and on mailing lists. This bug was addressed in 6.1 and quite heavily tested; and has since been approved by community users.

    As other comments point out, there are quirks but then there are also the productivity gains, especially with the debugging facilities.

    I quite see the point in your question: ..why do i need to deepen my committment? But the level of committment and involvement in NetBeans project has quite a range: from simply joining the mailing lists for raising questions to obtain support from other community members; to being involved in developing the ide itself.

    Obtaining a login to netbeans.org, joining nbusers mailing list and filing bugs is really quite trivial. They can be thought of extra tools the ide provides (except that they are outside the ide) rather than a committment.

    By Blogger Karthikr, at 12:46 AM  

  • I won't argue that Netbeans has its fair share of problems. As a Struts developer, I frequently work with XML, and for some reason, some days the editor is unusable (exceptions thrown more or less every keystroke). Overall, I think the IDE's very powerful, and is rapidly becoming much more robust. The Netbeans development group has implemented quality control and testing in the form of NetCat, and I'm very optimistic that Netbeans 6.5 will have all of the features of 6.1 (and more), with the reliability of Eclipse.

    On the other hand, it's occurred to me that using Swing as the widget toolkit for an application as hefty as an IDE might be an exercise in futility. Already, the biggest issue I have with Netbeans is how slow it is, even on powerful machines!

    By Blogger Joe, at 10:25 AM  

Post a Comment

<< Home