The Source for Java Technology Collaboration
User: Password:



Rich Unger

Rich Unger's Blog

Eclipse vs. NetBeans *yawn*

Posted by richunger on July 05, 2005 at 06:41 PM | Comments (27)

OK, I got your attention. Now, can we just forget this horse-race and go back to getting some actual work done?

No?

Oh, fine. So, JavaOne just ended, and everyone's talking about the buzz around these 2 products. There's enough hype around here to stuff a turkey.

I saw an interesting post on ZDNet after JavaOne. It was yet another log on the Eclipse vs. NetBeans fire. The content essentially boiled down to, "they're both technically good, but Eclipse is going to win."

It struck me as not very well thought out, and I'll tell you why.

(To be fair, he later backed off a bit in his tone, if not his conclusions.)

In the original post, one thing that struck me as a particularly bad assumption was, "...as in many tug-o-wars, someone is going to end up with mud in their face..."

Why? You have 2 IDEs competing vigorously for market share, and the result has been astounding. The quality of both programs is amazing. They each have their relative strengths. What is this drive among pundits to try and declare a winner here? I think there's an alternative motive here. This is what pundits do. They evaluate the market, and lend their "expertise" to the reader by declaring a winner.

But he's putting the cart before the horse. The reason so many big industry players went with Eclipse for their plugins is because more developers already used it as their IDE. They're addressing the developer market, and let's face it, Eclipse was a better IDE last year. Naturally their market share was much higher. From looking at the relative attendance of NetBeans and Eclipse talks at JavaOne, I'd have to say that Eclipse still does have more users, but not by nearly as wide a margin.

It's just not so clear-cut anymore.

On the J2EE side, NetBeans has better support for html, jsp, xml, xslt, and deploying/debugging within tomcat. The new project system, designed around ant, is very appealing to a lot of developers I know because their IDE uses the same configuration as their nightly build scripts. On the client side, Matisse (the new GUI builder) is light years ahead of anything Eclipse has to offer. The J2ME support in NetBeans has been getting an awful lot of attention. Finally, coming down the pike is the JFluid profiler. An IDE that makes profiling as easy as debugging is going to win a lot of converts.

Developer mindshare is a fickle thing. Honestly, I believe the 2 will be leapfrogging each other for at least a few years to come. And that's a great thing. That's much better for us average joe developers than having one "winner". Let 'em slug it out!

Finally, to address the platform/framework argument. Yes, there are more people building Eclipse plugins than NetBeans plugins. I think this is for 2 reasons:

1. There have been more Eclipse users, but I've addressed why I think this is evening out
2. There's more functionality out of the box in NetBeans

So, for now perhaps there are more Eclipse-based desktop apps than Netbeans-based ones. However, I think that, by far, the biggest share of desktop java apps has to go to the "no framework" or "homegrown framework" crowd. And, as both the Eclipse and NetBeans platforms mature, and become more compelling for use as the foundation of non-IDE desktop java apps, which one will be more popular? Well, Eclipse will have the headstart of having a few more community members already having written plugins. However, NetBeans has the huge advantage of being swing-based. I'm guessing there's a lot more Swing developers than SWT developers out there.

And if you want to talk about relative buzz, let's consider the companies that are choosing up sides here. BEA, IBM, Sun, etc. These are companies selling app servers (well, except Borland, but I have no earthly idea how they think they're going to survive as a set of not-so-much-value-add for Eclipse). App servers based on EJB technology. Why am I mentioning this? Because the most highly attended JavaOne talk I saw was Rod Johnson's Spring talk, which was busting the seams at the Yerba Buena Theater. This is the guy who wrote "J2EE Development without EJBs". So, let's be honest here. In a world where the tools and the server side frameworks are all free, the app server companies are chasing, not leading, the adoption curve.

(BTW, message to Sun and IBM: the first IDE to treat Spring, Hibernate, and other open source frameworks as first class citizens is going to get a major boost. It may not be welcome news to the companies trying to sell everyone on complicated clustering and transaction architectures, but this is what developers want, and you're just not going to convince them otherwise. Yes, yes, I know that if they'd only wait until EJB3, they'd get the architecture they want, but meanwhile the open source frameworks have built up a huge following and lots of useful APIs. Can EJB3 make any javabean JMX managable? No? Spring can. But, I digress...)

The real market for a client platform is not companies who make app servers and want to give away plugins to IDEs. The real market is companies (and individuals) who want to write client applications that are not IDEs.

Anyone talking about a "winner" when there's still only enough such apps on each platform to count on one hand is blowing smoke.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Yes, there are more people building Eclipse plugins than NetBeans plugins. I think this is for 2 reasons:

    I would add a 3rd reason as well: it is very easy to develop plugins on Eclipse, as plugin-development is kind of a 'first-class' citizen on Eclipse.

    -- Felipe

    PS: BTW, I use both IDEs and also Emacs, as each one has its strengths (emacs, in particular, is unbeateable when it comes to macros, buffers and key bindings).

    Posted by: felipeal on July 05, 2005 at 07:58 PM

  • Ah, yes, quite correct. Though, of course, in the spirit of both IDEs scrambling to match the other feature for feature, the netbeans 4.2 Q-builds have this as well.

    PS: I'm more of a gvim guy myself. :)
    I wonder, if this was as big a business 25 years ago, if the pundits would go back and forth declaring vi or emacs the "winner". I can see it now: "What are you all doing using vi? The industry is getting behind emacs extensions in a big way!"

    Posted by: richunger on July 05, 2005 at 08:55 PM

  • Nice post, but I don't believe that developer mindshare is fickle. Once a developer gets their hands on a development environment they like, they are going to hold on to it for years (as emacs users will surely testify).

    --
    Cedric

    Posted by: cedric on July 05, 2005 at 09:21 PM

  • Cedric, you are somewhat correct on the scale of an individual (though I know a number of emacs users who've finally picked up an IDE, and use emacs only for quick editing). However, as Jonathan Schwartz kept pointing out at JavaOne, the rate of java adoption is such that new developers will be added at a rate sufficient to make the majority opinion "fickle".

    Posted by: richunger on July 05, 2005 at 09:31 PM

  • I don't think it's just a two horse race though.

    Intellij IDEA, whilst not free (unless you do open source stuff) has been a far stronger tool for pure Java development, out of the box, than eclipse or netbeans of late, although the 3.1 release of eclipse has included lots of IDEA features.

    In terms of developer productivity, I find that IDEA is better value for money than either of the other two.. but then I don't depend on wizards and gui builders .

    Having said all that, netbeans seems to be moving quite fast now and I can see it becoming my tool of choice within a year.

    Posted by: goron on July 05, 2005 at 11:32 PM

  • Intellij is in a completely different business, and doing it beautifully. Netbeans and Eclipse are looking to capture as wide a user base as possible with their free tools, in order to push sales of hardware, professional services, and app servers from Sun and IBM.

    Intellij is addressing a much narrower market (what you call a "pure java developer"), and producing a product good enough to make a certain percentage of that market actually pay for it.

    I think they may be the smartest kids on the block, but they are not in this horse race. As Douglas Adams once said of the BBC, "...that's why they're having such a schitzophrenic time of it. They're in a different business from all their competitors."

    Posted by: richunger on July 06, 2005 at 12:20 AM

  • uh, Borland DOES sell an appserver (even if it doesn't have nearly the market share of BEA or WL).

    I fully agree with you when you say you doubt whether Borland's strategy makes sense. I've voiced my concerns about their decision to drop the best IDE on the market and instead try to sell Eclipse for nearly half a year now in Borland's support newsgroups and despite seeing many other happy JBuilder users agreeing with me it seems we (the small accounts, the individual users rather than the big enterprise accounts) are not being taken seriously.
    It seems to me Borland has lost its course again as a maker of superb development tools and once again (like with the Inprise debacle) has fallen for the idea that all they need are large corporate accounts buying "enterprise integration tools".
    As a result I see Borland disappearing as a development tool maker (except maybe Together as a UML designer) within a few years with the resultant demise of not just JBuilder (which will see its last version early next year) but also C++ Builder and Delphi going the way of Watcom.
    I tried both Netbeans and Eclipse in their current versions a few months ago (NB4.0 and Eclipse 3.0) and while I was impressed with the improvements made over the years they still are no match for JBuilder, yet Borland is abandoning JBuilder wholesale and moving to Eclipse instead.
    I've made up my mind over this and will move away from being a longterm (over a decade) almost exclusive Borland user to (probably) IDEA for my next purchase, probably sometime after the release of Java 6.0 (if there's enough features in that to make me use it in favour of 5.0). They've lost a customer not because they have a bad product but because they abandon a terrific product for a shift in corporate strategy away from their main customer base to some enticing goal of mega profits from a few very large customers they don't yet have.

    Posted by: jwenting on July 06, 2005 at 12:49 AM

  • I like it when people assert "And It Shall Be So." Nothing like saying it to change it. I was actually all about Eclipse until ... well, actually until I met Rich, here. Now, I am a social supporter of the Underdog. And the thing just happens to work well, too. Best of both worlds. (I tried "supporting" Netbeans as one of the few entries in the pure-Java based IDE on principle back in the early days, but I think you all remember how that worked.)
    I did however use Netscape long after it was worse than IE. Luckily Firefox came around, with Opera to fill the void. I favor diversity in terms of tools, since I dont want it to matter which tools I use.
    And my dirty little secret: I, too, still use vim. (Never did get into the zen of Emacs.) ....Anyone else interested in a poll to see which IDE the vi users gravitate towards, vs. Emacs users, vs. the "fickle masses of newbies"?

    Posted by: michael_n on July 06, 2005 at 01:48 AM

  • Netbeans is not perceived as open source
    This matters a lot for the development crowd. You don't have to agree to a license on download for any open source, except netbeans. Which immediately means that all linux distros will ship eclipse (they already do), and not netbeans. Which was the number one reason Java uptake has been held back for years.
    Oh, basing the following of netbeans vs. eclipse based on attendance of javaone people is just silly; how many C++/SQL/whatever people are not counted in that? All those go to eclipse, not netbeans.

    That said; there probably is room for all IDEs for quite some time to come; competition is healthy and all that.

    Posted by: zander on July 06, 2005 at 03:59 AM

  • Rich,
    Back in the fall of 2001 I started using Forte (pre-Netbeans), but switched to Eclipse because I felt that it was a more productive environment. When Netbeans 4.0 was released, I took another look and was tremendously impressed, but a minor "replace" feature kept me on Eclipse. I'm still on Eclipse "officially", but if Netbeans 4.2 is as good as I have heard, I might be switching.

    Why do I keep looking at Netbeans?

    Quite simply because Netbeans has made astounding strides in the past few years towards becoming a truly great development tool for Java EE programmers.
    Eclipse is also great, but they do not seem to have as clear a direction. The tremendous corporate support seems to have bogged Eclipse down... Witness the Lomboz and IBM donated tools for building EJBs. Witness the dozens of plugins that overlap in functionality.

    I think it boils down to governance.Perhaps Netbeans' governance lessens its appeal to some, but to me it makes Netbeans feel more like a product. Eclipse, in contrast, feels more like an unfiinished building block... leading to companies like MyEclipse to polish off the rough edges.

    --John

    Posted by: johnreynolds on July 06, 2005 at 06:12 AM

  • @zander:
    Eclipse is included in Linux distros because it can be compiled to native code with gcj, whereas this isnt possible with Netbeans(yet?) as it uses Swing (which doesnt have a full GNU CLASSPATH version).

    Native Eclipse is included in Fedora Core 4, and I think other distros will include it too (Ubuntu? Hm... cant remember...).

    I dont think all this has to do with a failure to perceive Netbeans as Open Source, but more because Netbeans has had a 4+ year period of sucking... and Sun is only now slowly moving to fix that (anybody who wants to take offense at this statement should try working with Netbeans 3.x or earlier for a month);

    Posted by: murphee on July 06, 2005 at 06:36 AM

  • A lot of times (around my compnay, which is quite large) I'm hearing people saying they're going to Eclipse just because everyone else is. They aren't even bothering to try NetBeans, but for no good reason. They figure that since everyone else seems to be adopting it, they can get help installing/using it if they have problems. But our company mostly does webapps with some Swing apps and they don't realize the potential productivity gains that NetBeans might give them. Eclipse is "in", and therefore the bandwagon to jump on.

    Like some of the other posters here, I think it's worth taking at least a little time every so often for a test drive each of the available IDEs My last test drive of Eclipse (3.0?) and NetBeans 4.1 led me to believe that NetBeans is the one to beat for general Java development. If you're writing in other languages or need a specialized plugin (like for Aspects or something) then Eclipse might be the better choice, though you could run both IDEs and switch when needed. I find that since I do almost exclusively Java that NetBeans is easier to work with and the integrated everything-in-the-box environment is much less of a hassle to install and manage. While some might favor things like MyEclipse, it still doesn't feel completely integrated with Eclipse and it does cost money. Plus I'm just annoyed with Eclipse's over-tabification -- I hate switching perspectives all the time and having tons of little window panes that I'm always having to expand to see what's in them and then unexpand again. As John posted, it feels unfinished. I'll take another test drive this fall with Eclipse 3.1 and NetBeans 4.2 when it's done, but I suspect I already know who the winner (for me) will be.

    I will note also that I'm a big fan of Firefox but also annoyed that anytime I do a new install I always have to go get a dozen plugins to get it to my preferred setup, and while it feels a little more integrated than Eclipse does, it's still not quite "there" yet in terms of user-friendliness of plugin use/management, but simple enough that it certainly won't keep me away. I guess I'm just a UI purist -- I want the UI to give me the options I need when I need them and just stay out of my way while I work (or play).

    As for Linux, I love the little guy but it's annoying that he has to have every single application in the world come as part of the distro and that each one has to meet his exceedingly strict criteria and definition of "free" in order to be included or he'll choose somebody else just out of spite regardless of whether it's a worse product or not. And geez, we download hundreds of megabytes or gigabytes for the distribution -- what's so hard about making a distribution a bit smaller and downloading some extra stuff via links after the installation is done? People download stuff all the time, so what's the big deal? Linux distros and zealots who can't/won't download the real (not the fake GNU stuff) Java and other stuff like NetBeans after the OS install just on principle are just being stubborn, if you ask me. Omigosh! Omigosh! The license doesn't match! Aaaahhh!!! Give me a break. Nothing against Linux, though, I much prefer using it over Windows when given the chance. It's just the political and religious zeal that bother me.

    PS - I'm old skool and use plain vanilla "vi" from time to time. But one of my favorite editors of the past was Brief.

    Posted by: gerryg on July 06, 2005 at 08:58 AM

  • Holy cow that was long, and I forgot to use HTML paragraphs. Sorry!

    Posted by: gerryg on July 06, 2005 at 08:59 AM

  • platform.netbeans.org provides a lot of information about NetBeans plugin support (as do several blogs, including my own: blogs.sun.com/geertjan).

    Posted by: geertjan on July 06, 2005 at 09:30 AM

  • John:With respect to governance, I think I can speak to this, as I'm on the governance board (which is 3 members, only 1 of which is allowed to be from Sun). I really don't see a major difference between the 2 products. Sun==NetBeans and Eclipse==IBM, and they're both true open source. And, I don't see a problem with that in either case.
    If anything, though, the governance of netbeans.org (the website) is a bit more open. You can contribute to either product as an individual, but if you want to have a "top-level" project on eclipse.org, you need to donate some large amount of money to eclipse.org and put 8 full-time developers on it. With netbeans.org, you just need a good idea (not that anyone's done it yet, which is a sad commentary on how hard it is to build plugins pre-4.2).
    But, as I say, that's the just the website. It's a way for IBM to rally some corporate support and dollars around Eclipse, and I don't think that makes Eclipse the product any less open source.

    Posted by: richunger on July 06, 2005 at 10:07 AM

  • I've been a staunch user of vi for the past 20 or so years. Emacs is nice, but getting it set up 'just right' is such a hassle. Vi just works.
    That's why I'm exceedingly likely to switch from Eclipse to NetBeans real soon now. Inertia's been keeping me in place so far, but Matisse, when it's ready, is going to be too good to go without. Anyone who hasn't tried it should grab a dev build and take it for a spin. (Note: no Sun affiliation here)
    On a side note to the guy who's tired of humongous Linux distros and FOSS zealotry, I have but one word: FreeBSD. See the light, man.

    Posted by: trevorwilliams on July 06, 2005 at 11:06 AM

  • I ALMOST moved to Netbeans this year.
    I had only 512MB of RAM and was running too many things at once and Eclipse would get slow... so I looked into NetBeans 4.1.

    The new UI was great.. however it would take 20 minutes to load up a real world project (it scans the classpath or something.. I thought it would only do it once, but much to my dismay it does it every time.. I don't want to wait while my app scans 20000 files). Sorry, not ready for the real world yet then.

    Also, what constantly makes me angry about Netbeans is its unintelligible configuration UI. It is REALLY hard to change some settings or figure out what the programmer was thinking. This is what kept me back (besides performance) in the past.

    Maybe they'll get better by 5.0?

    (love IntelliJ.. don't have the budget :( )

    Posted by: dog on July 06, 2005 at 12:21 PM

  • Conventional marketing wisdom has it that there can be two "major" vendors - Pepsi and Coke being the classic example. The #3 soft drink has far less revenue than either of the Big Two who are closely matched. This does not bode well for Borland...
    So my question would be - why can't developers easily write a plugin which works both with NetBeans and Eclipse? (I wasn't able to attend the JavaOne session on this very topic.)


    It certainly makes sense for tool vendors to stop duplicating the effort of the basic GUI/IDE and focus on adding their own value to a standard framework.

    Posted by: bboyes on July 06, 2005 at 01:04 PM

  • Netbeans as a platform has a long way to go before being as appealing as Eclipse.
    The framework is far too complex, in my opinion, and the documentation quite lacking.

    Look, I'm a Swing programmer, but in one week full time I could learn SWT and how to write a simple plugin with Eclipse, I could not do the same with Netbeans in three weeks (at the time, I tried with nb 3.5)

    The same can be said for another experience: the geotools project has been the base for two open source GIS applications. One is uDig, based on Eclipse, the other should have been Mapkenzie, based on Netbeans.
    The first is flourishing, the other one was dead on start because most of the people complained the Netbeans abstractions were too complex. To be fair, uDig has enjoyed funding, Mapkenzie not, but the uDig people did evaluate both Eclipse and Netbeans, and chose to go with Eclipse even if they had no SWT/JFace experience. The report is still there:
    http://udig.refractions.net/docs/Platform-Report.pdf

    Posted by: aaime on July 06, 2005 at 02:56 PM

  • I've read the report. I agree with it, with respect to netbeans 3.5. By the way, my day job is working on a netbeans platform-based application, and we've got about 30 modules, and it was begun on top of 3.3. It was a hard slog back then, and the only reason we stuck with it was that we could leverage so many existing netbeans modules for the tasks we were doing.

    However, the story is quite different these days. The apisupport modules are good now, and getting better very rapidly. The documentation is coming along nicely. There are samples and tutorials about.

    Posted by: richunger on July 06, 2005 at 03:09 PM

  • BTW, message to Sun and IBM: the first IDE to treat Spring, Hibernate, and other open source frameworks as first class citizens is going to get a major boost

    Amen, brother.

    Posted by: rodmac on July 06, 2005 at 09:25 PM

  • The next release of NetBeans (and the current development builds) will have a LOT of support for plug-in developers. In terms of documentation, http://platform.netbeans.org provides a LOT of info about NetBeans plug-in support, including early drafts of step-by-step tutorials -- from "Hello World" to "Server Plug-in" (as do several blogs, including my own: http://blogs.sun.com/geertjan).

    Posted by: geertjan on July 06, 2005 at 10:52 PM

  • Your experience with NB matches mine Dog. If Eclipse is slow on a machine NB will be slower still.
    It has a nice JSP editor, but refactoring support is lagging seriously and performance is abysmal (the first version before Sun bought them was faster on a 486 with 32MB RAM than the current version is on a P-IV with a Gigabyte, something wrong there).

    Posted by: jwenting on July 07, 2005 at 12:22 AM

  • Regarding the common plugin there is already a JSR -198 which will address the issue of having to write IDE specific plugins. It is only a matter of adoption of the JSR by the IDE. Once this plugin is out and fully supported, then we might see much better support for both the IDEs,... meaning we developers benefit =D

    -Rogue

    Posted by: roguexz on July 07, 2005 at 04:11 AM

  • Regarding JSR-198. The problem comes in writing plugins that contribute to the UI. JSR-98 does allow you to provide 2 different GUI representations but the idea of SWT, although allowed, was always thought of as a second class citizen. (I can say this cause I was on the expert group). Also the JSR assumes that the platform you are integrating with is much more tightly tied to the IDE than Eclipse is. Eclipse is basicly an RCP app that does IDE stuff while NetBeans is an IDE that can be used as a platform. In my opinion you will never see 198 compliance out of Eclipse.

    Posted by: sasjaa on July 07, 2005 at 08:33 AM

  • I don't agree with the penultimate statement. NetBeans is very much an "RCP app that does IDE stuff". And I think, for the same reason, you won't see 198-compliance from NetBeans, either. I think that JSR isn't very well thought out anyway. It defines some very high-level extension points for an IDE, without taking into account that different IDEs handle some of these things (e.g. the java data model, preferences, the project tree) quite differently and with a different set of basic assumptions.And, even leaving all that aside, having a common API, and then forcing plugin writers to write the GUI twice anyway doesn't buy you so much.

    Posted by: richunger on July 07, 2005 at 09:32 AM

  • I heard some rumours at JavaOne that NetBeans 4.2 will include "full Spring support". Any take on that?

    Posted by: hkverneland on July 21, 2005 at 12:30 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds