NetBeans Projects Pane
I’m trying out NetBeans 5.5.1 as a Java IDE and I’m very impressed so far. Thought I’d cough up some related thoughts on programming environments and free software, mixed with some personal history:
MS Visual Basic
I began my corporate programming career using Visual Basic 4, and moved on up to VB6, which I continued to use at home until last year. I really liked VB for GUI programming and quickly putting together various utility programs. I’ve probably made over a hundred more or less complicated VB programs for my personal use, in addition to the huge program I worked on at my job many years ago.
Java
While still using VB on the job, I started learning Java and have done a fair amount of server-side programming with it. I’ve always wanted to learn how to do GUI in Java, but it hasn’t been easy.
I started out using Borland’s JBuilder in 1999. It had layout managers for putting together an interface, but they seemed clumsy in my initial experiments. It had some proprietary layout manager that was supposed to be better, but I didn’t want to become dependent on it, being at the time already interested in free software and not wanting to become hooked on yet another proprietary system like VB. (Even if JBuilder itself was proprietary, that was fine for starters if I was only operating on free code.) (And yes, Java wasn’t free at the time, but it seemed like a step on a better road than VB.)
Proprietary GUI helpers or not, it just seemed so much more cumbersome and harder to make an interface with Java. I continued using VB for “fun” GUI programming and playing around, always hoping to learn Java GUI programming later and also hoping that it would become easier in time.
MS/VB Trap
Of course it was a trap to stick with VB for so long. It wasn’t free, and it was Microsoft’s beast. It was possible they could throw out classic VB and come up with some new and incompatible version, maybe calling it vb.NET. Long term, it was completely incompatible with my free software ambitions, and Microsoft has made it very clear what can happen if you count on them for future support of your programming environment.
NetBeans Widget Pallete
Moving to Free Software
Eclipse
A few years ago, I started using Eclipse for my Java IDE. It’s free as in freedom and it was better than JBuilder. (At least, better than the older version of JBuilder I was using.) I was able to start using it quickly, but haven’t spent a lot of time learning the intricacies since my job isn’t primarily Java programming. It’s only occasionally that I need to get in to the IDE and make or modify a more complicated program. Often I just edit Java class files with a basic text editor. (Which can be a good exercise for keeping some details of the language in your memory rather than relying on the IDE for everything.)
Eclipse is super. This entry isn’t meant at all to run it down. I intended to keep using it (and may continue using it for work, at least) because it is free and well-supported (and funded). Whenever possible, I like picking popular projects for the network effects and for the best chance at longevity. I had heard NetBeans was pretty good, and it is well supported with Sun and a community behind it, but basing my decision solely on size and reach of the respective projects, I think I’d have stayed with Eclipse.
So what has tipped me over to NetBeans? It comes back to GUI programming and started this weekend when I went looking for a way to do this in Eclipse. I quickly found references to the Visual Editor plugin, and I found a lot of information about it, but I couldn’t get it working with my installation of Eclipse. With enough motivation I might have persevered, but I had the NetBeans alternative to look at.
Also, my Eclipse struggles reinforced the reservations I’ve had about Eclipse. While I was quickly able to be productive with it, I’ve never felt at home in it. (I’m sure partly due to my lack of experience.) There’s something that hasn’t felt right about it. Maybe it feels too complicated with all the ways it is meant to be extended. Maybe it’s terminology, or the way things are presented, or the way it wants me to work that doesn’t feel comfortable. (Reminds me of how I felt about my very brief exposure to WebSphere a number of years ago.) Nothing that can’t be overcome, but something that may lead me to stray.
NetBeans
Please don’t get me wrong: there is a a lot to like in Eclipse. Maybe I just want a more warm and inviting IDE womb to feel safe in, and am hoping NetBeans will be that. Although I know it is very powerful and extendable itself. (Outside of Java though? I don’t know.) Maybe it’s more appealing for being more Java-centric. (As far as I know.) Sun gave us Java, and I could see some benefits to throwing in with them for Java development.
So I was open to trying something new. I heard great things about the GUI Builder interface in later versions of NetBeans, called “Matisse.” I also tried to learn more about what the SWT thing was all about in Eclipse and considered if I’d be better off with the pure Swing approach that I’d get in NetBeans. It sounds like with newer JVMs, Swing performance is much better. I read reasoned opinions from people in favor of either editor or both. There was the suggestion that Eclipse with its SWT approach kicked Sun in to gear to make Swing better.
So why not give it a try? It’s free as in free beer and free speech after all. (Under the CDDL: Common Development and Distribution License.) I’m just working through the quick start guides and…
I’m sold on the GUI editor. If this thing can do all the other things an IDE should do, I’m pretty sure I’ll be a NetBeans convert. I don’t want to gush too much about the GUI designer, and this may not be a big selling point for VB-disparagers, but I can see this as a fully capable replacement for what I had in VB, GUI-wise. Except now I’m free and cross platform enabled. It’s way cool how they’ve made this thing.

If you look at the screen shots here, the GUI may not look especially flashy–I think this is the default “Metal” look and feel–but it seems plenty functional and I’m only mildly driven by eye-candy appeal of user interfaces. I can appreciate a pretty interface, but I don’t need it. It looks like there are other options, but that’s further down on my list of things to learn.
Win Win Win Win Win Situation
Either way, NetBeans vs. Eclipse, what a fantastic situation to have for free development options. Two great IDEs to choose from. Some healthy competition. Great stuff.
Another Opinion and a Diversion in to Application Integration Tools
I read many good posts out there while exploring my options, but there’s one in particular I found interesting:
Benjamin Booth wrote a thoughtful post a couple of years ago saying that for him, there was no real debate: it was Eclipse over NetBeans. What surprised me and grabbed my attention was that he is (was?) a developer at webMethods, and worked on the webMethods Developer IDE for four years. This is a program that I’ve used extensively in my job from 2001 to the present.
webM Developer is a good example to me of how Java can be used to make a respectable GUI program. It has a little bit of sluggishness, but it is a rich and powerful environment. Although not without a lot of areas for improvement. It’s one of those programs that is targeted in some ways to non-developers, and can frustrate you with its attempts to make things “easier” for business types. At the same time it provides a lot of options for developers to work around limitations.
Tibco is another Java integration product I’ve used extensively and makes good use of Java both for GUI in its developer products and for the engine of its server components. (I’d really like to take the better features of both products and put them together.)
Just an aside, FWIW.




20 Comments
Well this is a very nice and interesting post.
I am sure that NetBeans 5.5 has a much better GUI designer but it still doesn’t have lots of features that the Eclipse code editor and refactoring provides !!
That’s why I was still using Eclipse mainly until two months ago when I tried the NetBeans 6.0 preview release.
It is great; it has the perfect GUI builder + all the features I love in the Eclipse code editor.
I am sold on it and I can’t wait for the release of the full version of 6.0 this November.
29 August 2007 at 7:26 am
Thanks, Ali. I didn’t see a lot of comments about the 6.0 release and I’m glad to hear they’re still working hard on development.
29 August 2007 at 7:39 am
NB6 adds a lot of good and neat features.
30 August 2007 at 6:53 pm
Eclipse is too complicated for you? So you are enable to deal with menus, with the right mouse button, with dialogs, pushbuttons and keyboard-shortcuts? You are not able to understand what a “perspective” is? (a set of views or “windows”)
You are unable to learn the meaning of a shortcut like Ctrl-1 or Ctrl-2?
C’mon. And you call yourself a software-developer? That’s the most ridiculous FUD… oh wait not true… FUD like that I’m reading all the time and that FUD is mostly generated from “Sun-friendly” websites or bloggers. Talk about astroturfing.
31 August 2007 at 2:45 am
Hi Scott,
I am Amit K. Saha and a NetBeans community docs co-ordinator. Your post could make an interesting read on the NetBeans community docs wiki at
http://wiki.netbeans.org/wiki/view/CommunityDocs
So please consider contributing this post to the wiki. Or if you are busy, I can do that for you.
Just drop me a mail at the address given above.
Thanks and I look forward to seeing your contribution.
31 August 2007 at 4:23 am
Nice read :) Here’s my blog post on why I switched to NetBeans a year back or so:
http://ptrthomas.wordpress.com/2006/04/11/reasons-for-switching-to-netbeans/
Yes, can’t wait for NB6 final!
1 September 2007 at 12:55 am
Thanks for the comments, everyone — I’ve been out of town for a couple of days and thus my slow response.
Amit: I sent you an email — I’d be happy to see the post on the NetBeans wiki — please go ahead and post it there. Thanks!
Peter: Thanks for visiting and for the link. I like the look of your site.
Eclipse-user: My friend, why all the vitriol? Yes, I call myself a software developer, but recall that for me Visual Basic was a great environment for many years. You certainly don’t have to take my opinions seriously.
I was able to use Eclipse and was happy with it. Is it so wrong that I found something else I may prefer over it?
What’s this about astroturfing? Are you implying that Sun paid me to write this? That’s ridiculous. It’s my independently arrived at honest opinion, and I thought I was very even-handed above. I wasn’t out to slag Eclipse.
Perhaps your hackles are raised because you are an “IBM-friendly” astroturfer? (See? The term loses its meaning if thoughtlessly applied to anyone who disagrees with you.)
Again, why the anger? Is it impossible that some people may prefer NetBeans over Eclipse for various reasons?
Apparently it’s difficult to write about this subject without bringing out the true believers to burn you at the stake for heresy. Why must it be religious? As many people point out, having competing IDEs is a good situation to have.
1 September 2007 at 7:41 pm
Hi,
Nice posting.
I have worked with both IDEs (Eclipse & NetBeans). NetBeans 6(m10) is really good with its NetBeans platform. But where Eclipse Europa scores over NetBeans is with the CVS. I have had serious issues getting my CVS configuration right with NetBeans.
Besides I think the local history option is not available in NetBeans (not sure about this though, please correct me if I am wrong).
regards
3 September 2007 at 1:15 am
Hi, Ravindar. I use CVS at work and haven’t used integration with it that much in Eclipse, although it works well for the one project I’ve tried it on. There I’m developing on Windows and most often use the TortoiseCVS Explorer shell extension.
At home in Ubuntu, I’m planning on setting up Subversion sooner or later. I installed the NetBeans SVN plugin but have only confirmed that it added a menu. We’ll see how that works out.
3 September 2007 at 10:41 am
Hi Ravindar,
Good news for you, NetBeans 6 does now include local history. You’ll find it under the Versioning menu.
Regards,
Brian
5 September 2007 at 6:58 pm
Hello,
I have been a developer for at least 20 years (several years as C&C++ network developer under *nix, Novell, Windows) yet I have always had problem with Eclipse.
That I want to use Eclipse for my development should not mean I must deal with installation/configuration of several plug-ins with different versions, different configuration procedures, different interoperability bugs etc.
Yes, I like the fast Eclipse IDE with its great refactoring features but I hate it when I need to do something and I should download, install and configure several things.
Take web services for example. First of all there were thousands of tutorials on the web, each one with a different plugin, specification and version. It took me 3 hours to just find out how can I create a simple client and another 3 hours to be able to create a simple web service and yet I have several problems.
I have done web services in C# (even in VS2003 it was very very very easier than eclipse) and NetBeans (it took me 2 minutes for creating client and 5 minutes for web service itself including deployment and test).
For swing applications do not even speak about it. I won’t even try Eclipse (it does not have a good designer and does not support layout which I normally use)
And yes, this Eclipse-user might tell I am not a developer (I have developed using Turbo-Pascal 1.0, Turbo-C 1.0, BasicA, Fortran using punch card machine and modern IDEs like Delphi, Codegear, VStudio).
5 September 2007 at 8:19 pm
My reason to move to NetBeans for a lot of development was it’s excellent support of Maven / Maven2, versus Eclipse’s rather poor support (the Eclipse plugin for supporting Maven2 integration doesn’t quite cut it for me).
That, and the fact that Eclipse 3.2 developed a tendency to go OOM on me several times a day.
However, in NetBeans 5.5 I missed too many good Java editing features so almost instantly I switched to NetBeans pre-release and milestone releases for the upcoming version 6 and they’re getting better all the time. By now, they’re really good, stable and very day-to-day usable alternative for Eclipse – go check them out :-)
I’ve never been one for the GUI builder though; I haven’t used it in either IDEs. I did do a full year of Swing application development, using Eclipse to code it all by hand, and didn’t feel the need to use an IDE for that… (Funny thing is that in Python I felt the GUI builder for wxPython was greatly helping me).
One thing in NetBeans still sucks for me: the way to run a command-line application which is built by Maven2. It inserts lots of stuff in your Maven2 POM, which — in my opinion — is not what you want.
So I still use Eclipse next to NetBeans for running and testing my applications.
Overall, my advice is: if you like NetBeans5.5, switch to a daily build of NetBeans6 now :-)
–Tim
6 September 2007 at 3:35 am
Hello, Siamak/Brian/Tim — thanks for your comments. Tim: it’s nice to not have to choose exclusively between one or the other IDE, isn’t it? :-)
6 September 2007 at 5:19 am
Hi Scott,
Nice article – I hope you follow it up to say how you get on with Netbeans after the honeymoon period ;-) For example, how do you find the non-Matisse parts?
I too have tried Eclipse and found it awkward and uncomfortable to use – something about the way it is organised doesn’t quite fit the way I work/think. I think it’s one of those things that either suits you or doesn’t. Over the years I’ve used quite a few IDEs, among them the original Microsoft Visual Studio for C++ (buggy but excellent), JBuilder (buggy), Symantec Visual Cafe (horrible & buggy), Rational Rose (buggy & horrible), Netbeans (buggy at the time) and Eclipse.
I eventually ended up with IntelliJ IDEA, which is just right for me – it fits my way of working/thinking like a glove, and IMO is that bit more polished and usable than Eclipse. Of course, it’s not free, so you expect a bit more for your money. It has it’s own GUI builder which is fairly good, although I believe Matisse still leads the field. But to be honest, we tend to avoid GUI builders when developing commercially. I like IDEA enough that I’d buy a personal license if my employer didn’t supply one, and I know quite a few developers who’ve done just that.
Having said all that, an IDE is just a tool, and you should use the tools best suited to the task at hand. if either Netbeans or Eclipse had support for a feature I needed that wasn’t available in IDEA, I’d have no problem using them for that work.
6 September 2007 at 6:45 am
Hi, Dave. Yep — I see IDEA mentioned a lot as a good environment. While I use proprietary software on the job, I’m working on getting away from it as much as possible for home use. Hopefully the Eclipse and NetBeans developers are looking at it and copying features. :-) Thanks for your thoughtful comment.
6 September 2007 at 3:29 pm
Good article, I also use netbeans for my Java programming at school even though I like much more VStudio 2005.
greetings.
5 October 2007 at 11:51 pm
Scott;
Good post. It’s nice to see someone efficiently explore environmental differences without feeling like it has to be completely black and white.
Question: have you ever tried MyEclipse at all? Besides being cost-effective ($50/year), it also incorporates NetBeans’ Matisse into the Eclipse environment.
I would be curious to know your thoughts on where MyEclispe fits in your bigger picture of tool choices.
Best,
Jens
http://www.myeclipseide.com
19 November 2007 at 11:37 am
Hi, Jens. This is the first I’ve heard of MyEclipse. Since it’s not free software, I wouldn’t consider it for anything that I had personal control over.
As for understanding what it does, I clicked on the “Why use MyEclipse?” link, but that didn’t really give me a good overview of the software or what it offers over other choices.
19 November 2007 at 4:23 pm
Hello,
Well this is a very nice and interesting post.I’m Wendy Larry Lozada from the University of Baguio, Philippines taking up Bachelor of Science in Computer Engineering 1. Thanks a lot for this. I have already a hint in doing my assingnment.
6 February 2008 at 12:00 am
Great Post.. and here is one more moving to net beans from eclipse. I am very irrirated at the kind of Maven support that eclipse provides. Its so stupid and plugins are very dumb. Everytime I end up in creating a java project instead of an EJB or web project. Then I have to tweak the .project, .classpath and pom files manually to make eclipse understand that the projects created by Maven are indeed web and ejb projects. The plugins q4e, m2eclipse do not ease the situation either. Lot of manual work is required. Eclipse will soon loose its users if they are not going to work a more tighter integration with Maven.
29 July 2008 at 7:44 am