NetBeans vs. Eclipse, this time with attitude

NetBeans vs. Eclipse, this time with attitude

Summary: After months of regular milestones and community feedback, Sun has released a Beta version of NetBeans 6.0. NetBeans is an Integrated Development Environment (IDE) written for programmers who use Java, Ruby, C/C++, and other languages. How does it match up against Eclipse and other developer tools? Instead of doing a point-by-point review, this time I want to take a step back and look at what I call the NetBeans attitude, and what other software projects can take away from it.

SHARE:

After months of regular milestones and community feedback, Sun has released a Beta version of NetBeans 6.0. NetBeans is an Integrated Development Environment (IDE) written for programmers who use Java, Ruby, C/C++, and other languages. It competes for developer mindshare with Eclipse, Microsoft Visual Studio, JetBrains IDEA, and many other free and commercial IDEs.

Long time readers of this blog know that I'm something of an Eclipse fanboy, having written a couple of books on Eclipse and winning the first Eclipse Top Ambassador award. But I believe you should always be on the lookout for the best tools to get your job done. Before Eclipse I was a happy Visual Studio user for several years, and before that I was heavily into emacs (which isn't really an IDE but it's close enough). If I hadn't been open to new tools and ideas I'd probably still be using some homegrown text editor and a command line.

[ Read: Focus on NetBeans ]

While I'm not switching to NetBeans (or anything else) any time soon, I do find much to admire in this new release and the philosophy behind it. I had a hard time coming up with a good word to describe this but let's call it: the NetBeans attitude. I want to expand on this because I think there's a very important lesson for other software projects. So if you're looking for a highly technical point-by-point review or comparison of NetBeans then this ain't it.

So what do I like about the NetBeans attitude? First, I like the attitude that NetBeans means one thing. It's an IDE. Its entire purpose is to make life easier for developers. I'm a developer, so I'm all for anything that does that! While NetBeans does have some platform support (by which I mean you can write a non-IDE application using the NetBeans "shell") this isn't the main focus of the product. You could say the same thing about JetBrains IDEA: Both IDEA and NetBeans are IDEs first. Anything else is gravy.

I also like the attitude on the part of the NetBeans developers that they will not be daunted by a tremendous lead by their competitors. Not to mention the attitude that they actually have competitors. That competitive spirit has sometimes gotten a bit out of hand (out of context quotes on certain blogs come to mind... you know who you are), and emotions have sometimes run high, but like a football rivalry between nearby colleges it has mostly all been in good fun. When no one is looking, the teams can be caught mingling, bouncing ideas off each other, and contemplating how to beat their common foes.

I like the attitude that NetBeans will shamelessly take good ideas from other products, boil them down to their essence, and incorporate them in a way that makes sense. I didn't always like this, but I've come to the conclusion that it's a good thing. After all, Eclipse does the same thing; so does IDEA and most other programs I can think of. I do it, and you probably do it. As long as it's not just a check-list filling, throw-everything-in exercise, building on the work of others can advance the state of the art. (That's another peeve I have with patents but I digress...)

Most of all, I like the attitude that NetBeans is one coherent tool from one source. Is this less flexible than other models they might have followed? Is it less open, more controlled? Absolutely. But the NetBeans folks have decided that what's really important is developer productivity. For their intended audience, I believe that's the right choice.

What defines developer productivity? It's highly subjective. JetBrains IDEA is regarded by many people I respect to currently be tops in this category. Although I don't use the product myself, it's fun to watch someone familiar with it blaze through a demo. The only tool I've seen that comes close to that "smooth as butter" feeling is the TextMate editor. Perhaps it's simply a testament to the skill of the presenters, but I think there's more to it than that. Researchers talk about "the flow" as a state of mind where one is hyper-productive. When you're "in the flow", everything just falls into place, and nothing stands in the way between you and what you are creating.

[ Read: Focus on Eclipse ]

Just to be clear, I love Eclipse. I use it every day, both as an IDE and as a development platform for other programs. There are many areas where its depth of features is unmatched by any product, for example look at the customizations for Java code formatting. The best part of Eclipse is, IMHO, the original part that came out of OTI: the Platform UI and the Java Development Tools. Since I do almost all my coding these days with Java SE, this is a good fit for my needs. I think the way Eclipse thinks, and understand why it does what it does. Examining its source code taught me a lot about object oriented design and patterns. And Eclipse RCP can do things I didn't think Java could do just a few years ago. It's an incredibly rich environment that has a unifying effect on any commercial product that builds on top of it (disclaimer: my company does just that).

That said, with my impartial developer hat on, I see a project that has long lost its original focus. It's gone from an IDE, to a platform for building tools, to a platform for building anything, to an Apache-like open source community. The mindshare and excitement of those early versions was leveraged quite successfully by the Eclipse Foundation into many other areas. In other words, it was the brilliant Java IDE that made the other parts possible. Maybe I'm just being nostalgic, but I miss the spirit and focus of those early days of Eclipse.

I can see a little of that spirit in NetBeans, but like Eclipse it's not entirely altruistic. Sun has an agenda of their own, and they don't hesitate to use NetBeans and its unique access to push it. For example when they come up with a new version of Java EE, or a Swing application framework, or a JRuby compiler, the NetBeans team is right there in the middle so that the software and tools for the software are developed together. Frankly, Microsoft does the same kind of thing with Visual Studio, and competitors don't like it one bit. If you look at it purely from the user's point of view though, it makes sense. What good is something like JSF or JavaFX script if it's incredibly painful to develop with? Tools matter, and if you want developers to use your technology you have to give them good tools too.

In conclusion, NetBeans version 6 is the latest in a long line of continuously improving IDEs from Sun. You can read all about the list of new features and see screenshots using the links below so I won't repeat them here. If you are looking for deep Java SE support, incredibly fast compilation and turnaround, or a platform on which to build commercial software, I would have to say Eclipse is still on top. But if you want to venture outside of Java SE and need a free tool for creating GUIs, mobile development, and web development, then NetBeans should be on your short list too. Developer mindshare and loyalty is a fickle thing. Through its focus on one free open source product and one audience, NetBeans v6 may just be positioned to capture some more mindshare of its own.

For more information:

Topics: Software Development, Emerging Tech, Open Source, Oracle

Ed Burnette

About Ed Burnette

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. He has written numerous technical articles and books, most recently "Hello, Android: Introducing Google's Mobile Development Platform" from the Pragmatic Programmers.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

10 comments
Log in or register to join the discussion
  • Eclipse Focus

    Great article, Ed. I can't agree with you more re: the focus at Eclipse. It was great in the early days because OTI/IBM ran the show, just as Sun runs Netbeans. And as more companies got involved and IBM sought to reduce their influence, it's really created a vacuum.

    I've gotten some interesting feedback on my blog, http://cdtdoug.blogspot.com, on the idea of creating a Mozilla.com company to fund some of the core Eclipse development. Maybe this unit could also provide that focus again and remove any doubt about the place of Eclipse as an IDE.
    dougschaefer
    • Mozilla model

      Right, IBM bent over backwards to try to prove to Sun and others that they weren't controlling Eclipse, and I think they hurt something. In the end, Sun wasn't convinced anyway.

      The income from Google makes the Mozilla model possible. How would your EclipseCorp idea be funded?
      Ed Burnette
      • Funding Eclipse

        How to fund EclipseCo is a tough question. Right now it's funded by member companies donating employees. The theory would be that those who don't want to donate employees can donate cash instead. In that sense it's more like the Linux Foundation model than Mozilla.com.

        This is all just ideas that were tossed out and apparently a few others have thought the same. It would be incredibly complex though to put into action and I'm not sure whether there's enough interest from the Eclipse members to make it happen.
        dougschaefer
  • I use both but Netbeans is my favorite

    I have always thought Netbeans made me more productive. I learned Java using Eclipse and still use it for working on legacy perl scripts and non-swing Java code.

    But ever since Matisse GUI editor came out, I've found myself using netbeans more and more. You are correct that tools make the difference and Microsoft's Visual Studio has always been a great tool. When I had to move to using Java, I was surprised at how weak the Java tools were in comparison. With netbeans I am almost at the same level of productivity I had with VS.

    I dont care that Sun controls netbeans...I just want a great IDE!
    otaddy
  • RE: NetBeans vs. Eclipse, this time with attitude

    Are you sure you're not being slightly critical of Eclipse? I just want to be sure. The 8 or 9 times you mentioned your adoration for Eclipse wasn't enough for me.
    Just kidding :)
    asdfqwerasdfqwerasdfqwer
    • Re: critical of Eclipse?

      :) Thanks for the chuckle.
      Ed Burnette
  • I still use Borland JBuilder Mobile

    Eclipse is horrible, and NetBeans has lacked the ability to compile Java programs for all JDKs and lacked the ability to properly set up libraries to include and lacked the ability to have simultaneous multiple builds off the same code base. Hopefully this NetBeans version will have some of these deficiencies taken care of because I like what NetBeans provides overall - it just has not been possible for me to use it for normal development yet.

    Nothing beats JBuilder Mobile yet!
    kokuryu
  • Evolving, but not enough

    There is still much water to roll beyond this bridge...


    Althought NetBeans is evolving, its main problem (for me) stills the same: we can't make good java iteration interface. It is still painful to work with JFormattedText, MaskFormatter, SimpleFormatter, JProgressBar and others.


    This is because Eclipse is still a good choice.
    asterus@...
  • RE: NetBeans vs. Eclipse, this time with attitude

    I use Easy Eclipse.
    There are some pages dedicated for these Java competitors in http://dan.somnea.free.fr/2C/.
    dgs010243
  • Re: n conclusion, NetBeans version 6 is the latest in a long line of contin

    One thing to remember, they (Sun) really came to the party a bit late. They basically got caught with their IDE down and have had to play catch-up. My opinion is they did not see the IDE as an important part of the Java picture until they started to see how much VS and Eclipse affected uptake and got a little scared that they would be marginalized to just being the source of the language.

    Bill
    wft@...