Open Development Platform

Eclipse Platform

Subscribe to Eclipse Platform: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Eclipse Platform: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Eclipse Platform Authors: Janakiram MSV, Ken Fogel, Marcin Warpechowski, Michael Meiner, Liz McMillan

Related Topics: Java EE Journal, Eclipse Platform, Java Developer Magazine

J2EE Journal: Article

JDJ Archives: Eclipse vs NetBeans - "Point/Counterpoint" Special

Point/Counterpoint over Java's Desktop UI technology

This article was originally published in print on December 3, 2003

"Eclipse represents the worst of Java"

Lately, there's been a lot of guff spouted about how Sun isn't joining Eclipse. While I understand the bitterness aimed at Sun somewhat, I think that this particular brand of talk is counterproductive and, dare I say it, wrong. The talk tends to center around the concept of NetBeans and Eclipse using common technology, and I think this is misguided, and here's why.

I really dislike Netbeans. I think it blows goats from here to Sussex, and considering that I live in the middle of the US, that's a lot of goats. Given the choice between NetBeans and... Notepad, I usually spend a minute pondering whether I can keep remembering to check extensions on filenames before realizing that I can, and I end up with sucky ol' Notepad instead of bothering with NetBeans.

That said... I use Eclipse fairly often. I have a client who's standardized on WSAD, and I really think Eclipse' project management is a model to be copied. The CVS integration, last time I used it, wasn't bad at all (if a touch kludgey), and...

And I'd rather use NetBeans than Eclipse, given a single project to work with. In fact, the only OS I'll use Eclipse on is Windows. Everywhere else... not a chance. Eclipse represents the worst of Java: an IDE, a popular one, that isn't actually as much Java as I'd like.

Look: NetBeans sucks. I said that already, right? But I can run it on all of my OSes and have a reasonable expectation of what it looks like and how it works. It's NETBEANS. Not NetBeans/XP, not NetBeans/Linux, not NetBeans/Solaris. It's just NetBeans. IDEA (my editor of choice) is the same way: I install it, and the user experience is the same regardless of OS. That's where Swing rocks. It (IDEA and/or NetBeans) is one program, that I don't have to re-learn to use everywhere I use it.

Eclipse... oh man, the first time I opened it up on another OS... ... I don't think I can describe my gut reaction in a public forum. It's amazingly ugly. It's awesome on some OSes... and when I pointed out how ugly it was on MY platform, here's a smattering of the responses I got:

  • "Why are you running THAT OS?"
  • "Why don't you port SWT (to a different toolkit)?"
  • "It's free!"

Um... right. I should choose my OS based on a specific program I want to run, regardless of whether that program fits the machine's overall goal.

It's free, so I should just suffer in silence.

Worse: I should port SWT to my chosen operating system and UI toolkit. While I realise that's the best gift economy move I could make, I'm a busy man. I have too much on my plate as it is, and too many good alternatives to take up porting SWT.

This is what annoys me about Eclipse: the free moniker is misleading, the toolkit is ideal for a limited set of platforms, and the Eclipse people - sorry, guys - carry around this annoying flag of "We're the underdog, HEAR US ROAR."


More Stories By Henry Roswell

Henry Roswell is a veteran consultant who would like to think he's seen it all, but is constantly amazed by new events every day.

More Stories By Joseph Ottinger

I am a software evangelist for GigaSpaces technologies, as well as a writer and musician. I've been the editor-in-chief of Java Developer's Journal and TheServerSide.

GigaSpaces Technologies is a leading provider of a new generation of application platforms for Java and .Net environments that offer an alternative to traditional application-servers. The company's eXtreme Application Platform (XAP) is a high-end application server, designed to meet the most demanding business requirements in a cost-effective manner. It is the only product that provides a complete middleware solution on a single, scalable platform. XAP is trusted by Fortune 100 companies, which leverage it as a strategic solution that enhances efficiency and agility across the IT organization.

Comments (94) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Kamal Mettananda 11/11/05 01:46:40 AM EST

According to my experiences, Eclipse provides good look and feel in Linux environments compared to the other IDEs even though Eclipse looks quite pretty under Windows. And even the performance is good under Linux.

With the huge set of plug-ins available, Eclipse is becoming the most useful IDE that I have used.

JDJ News Desk 10/15/05 05:14:54 PM EDT

JDJ Archives: Eclipse vs NetBeans - "Point/Counterpoint" Special. While NetBeans ain't perfect, far from it, SWT and Eclipse aren't right for Java, says Joseph Ottinger; a position with which Henry Roswell disagrees. Read the first of a new series of 'Point/Counterpoint' discussions...and join the 80+ readers who have already weighed in on one side or other of the debate.

Anshu Jain 03/07/05 02:22:00 AM EST

I would say, eclipse sucks on linux as much as linux sucks in itself. I have seen eclipse in action on Linux, and the look and feel and performance is not much worse than look and feel and performance of linux or any other IDE in linux itself. Besides, the bitter truth is that most of the biggies use primarily, the windows platform for application development, where eclipse is the nxtbest thing to JAVA itself. As far as open source goes, netbeans is a good IDE, however they have to make better effort to involve the community in development, like explaining the architecture through articles etc.

Bharath 03/07/05 01:11:39 AM EST

Eclipse sucks on linux (that's what matters). NetBeans 4.0 continues to be the beauty that it is on Windoze and Linux. SWT throws platform independent rendering out of the window. I'm afraid, that's antithetical to java itself. Or, has IBM come up with SWT to bring in incompatibility, thereby kill Java & hence Sun's lead in this area of technology? You never know. Anyways, eclipse & swt are for windoze zombies. Netbeans is slick and superfast compared to the slow,bulky, memory-hogger that eclipse is. Just use ND 4.0 once and you'll never look elsewhere.

DaveB 02/17/05 06:57:28 PM EST

Build it on the mac ... and it won't run

Our company has been developing applications for Mac for many years.

We recently found a troubling problem.

We have Java application that has a native component tied to OS X.

In the past we built this app (except for the native component) on
a Windows PC and packaged it on OS X using JAR Bundler.

It was a bit of extra trouble, but everthing worked reliably.
In an effort to streamline development we installed
netBeans IDE 4.0 for OS X.

After considerable effort we found that the JAR file produced
by netBeans IDE 4.0 for OS X, will not run on OS X.

We can move the identical Java sources to a PC and compile
the JAR there, move that JAR back to the Mac, and use
the JAR Bundler to create the application, and it works.

So in short
Build it on the mac ... and it won't run

Krzysiek 08/31/04 05:28:44 PM EDT

I'm not an experienced developer, but I used Eclipse for some plug-in development. I used it on both Windows and (mostly) Linux. Personally I think that gtk version of Eclipse looks cool (maybe the author used motif version, which is really ugly :)) The ui is responsive, and the same I cannot say about NetBeans, but I used it a year ago, version 3.x, so maybe now it's much better. I only remember, that even scrolling text in editor was a nightmare (512 megs of RAM). I like in Eclipse also VisualEditor - I remember, that in NetBeans, if you accidentally deleted some config file, you couldn't edit visually any more. Visual Editor is different - you can work with code, you can work visually, it is synchronized. Cool! I like also GEF and EMF, and many different cool things (I don't want to begin some IDE war again, please :))

Juan JG 08/24/04 10:44:41 AM EDT

I read this article a few months ago, before NetBeans 3.6 was released and agreed with almost all the appreciations in it, specially that Eclipse was slightly better than NetBeans in overall (even that it sucks when running in Linux, my preferred OS). But TODAY (Aug 24/04) after NetBeans 3.6 and 4.0b have been released the story is completely different. NetBeans's group have made an excellent work in these last releases, 3.6 have a lot of improvements and 4.0 is just going to be great (not yet finished). Don't really know what is going to happen with Eclipse project in the near future, maybe they are going to work for a better support on Linux and other OS's, but NetBeans is now a good competitor for them and hope that some day they (NB) will reach "the top" of this fight.

Mark 04/10/04 09:20:22 PM EDT

Having used both Eclipse and Netbeans, my preference leans solidly towards Netbeans. SWT use and code refactoring are about all that Eclipse has to offer me that Netbeans doesn''t and in my experience and SWT is near useless for doing the kind of graphics manipulation that is possible with Swing like setting arbitrary clipping regions or using different affine transformations or customized pixel blending methods. Refactoring I will admit is sort of nice to have, but the Netbeans dev team is already on top of that, with refactoring listed at the very top of the new features list in Netbeans 4.0 (currently in alpha testing and slated for release before the fall of this year). I could theoretically use Eclipse right now and have refactoring today, but there are several other little features in Netbeans I like which _combined_ just aren''t worth giving up just for that one thing, IMO.

Stefan Wagner 01/16/04 04:59:52 PM EST

I use Eclipse (gtk) on linux and don''t see big differences to eclipse on win2k.
What's looking so different, or are the diffences to the motif-Version or XP/ME/98/NT/95/3.11/3.1/2.0 :)

Paul Sundling 01/10/04 06:57:10 PM EST

Eclipse if great. There are lots of plugins that do a variety of things. Great CVS, Ant, Junit integration, good refactoring. I can also use it for other languages. Even the PHPEclipse plugin works well when I have a client for PHP. Eclipse was the firm IDE that made me finally leave vi behind for most of my devlopment.

Sure drag and drop doesn't work on linux eclipse, but it's very usable on windows and linux.

BTW for the Vikram, if the problem you descibe in WSAD is the one I've encountered, occasionaly the .project file can get corrupted. Remove .project, close and reopen the project and then rebuild all.

vs 01/08/04 08:46:07 PM EST

Recently I came across few unexpected problems with WSAD 5.0.1.

Converting EJB local to EJB remote messes up with Application.xml. No way to cure, tried many. Atlast ended up deleting and creating new project. Found little strange behaviour for settings related to compile when save the file, between two different machine. Too slow.
Cannot dare to use for large project. I think IDEA I liked.
One thing good about WSAD/Eclips, is its model.

WSAD donot provide correct jndi name for local ejb, which is local:ejb/.... in case of WAS 5.0 , its annoying.
And it seems to me IBM one or other way wants to harrash java community by one or other way, why they cannot stick to
java:comp/env or ejb/ for jndi naming for ejb, what they want to prove? We know they are stupid, do not have guts to innovate something like java, Its becos of my client I''m using WSAD.......

rhubarb 01/08/04 06:30:14 PM EST

Okay I use Eclipse so I''m biased.
And I don''t want to seem provocative, but Joseph Ottinger''s article and criticism are just totally wrong. The logic is flawed, the conclusion wrong.

I say this because his main criticism is that Eclipse looks different on different platforms, whereas NetBeans looks the same.

Yes it does, and well it should.

Applications should look different on different platforms. Different platforms look different. The applications that run on them should strive be consistent with one another at the expense of being self-consistent across platforms.
If the other platform is an ugly platform with ugly-looking applications, then Eclipse should be ugly.

Ottinger claims that this represents the "worst of Java". But the promise of Java is "write once run anywhere", not "write once look the same everywhere". (Granted when it comes to GUI applications neither of these promises is kept, but you get the point)

The one argument you could make in favor of Swing based applications here, is that if they offer a Look and Feel choice to the user, then the user gets to choose whether they are part of the 99.999% that want the platform default LnF or the Ottinger minority that wants the cross-platform LnF. The pluggable LnFs, however, are not nearly as truly "native" as the native components wrapped by SWT. And the many Swing applications that automatically select the platform LnF end up in the same situation as Eclipse on the "ugly plafform" - they are only as good as that version of the LnF (compared to only as good as that port of SWT).

So if you''re one of the 0.0001% that needs to use Eclipse on many platforms regularly then heed well his sage advice. But if you''re one of the overwhelming majority who just wants a decent IDE on your platform of choice, ignore him completely.

Martin Möbius 01/06/04 04:13:28 PM EST

Swing vs SWT has nothing to do with Eclipse vs Netbeans vs YourFavoriteIDEHere.

The most important reason to use an IDE is productivity.
And there every other IDE should keep an eye on eclipse.
At the moment Eclipse itself lacks strong support for J2EE development (you can buy some good plugins like ).

Very strange for me are the supporter in the comments. While VS is good in supporting a wide range of developer activities (html, xml, sql aso.), it lacks even the basic features while coding.
Ever tried to rename a class with A thing of seconds in Eclipse.
Ever tried to create getter&setter? This does not even exist is VS.
Userdefined macros (called templates in Eclipse)? Do not exist.
Not to name all the more sophisticated things.
Like searching for all read &| write accesses to a member.
A local history keeping an eye of all your changes.
Refactorings like automatically generating a method from selected source code.

Robert Enyedi 12/31/03 07:29:26 PM EST

As pointed earlier we have a discussion on two levels: 1. Eclipse vs Netbeans and consequently 2. SWT vs Swing.

1. I used both IDEs. I wasn''t satisfied with Netbeans because it''s big and slow. However, since version 3.5 it became faster (and more to come). Eclipse is OK, but it runs slow on Linux. Actually on Linux I cannot really tell the difference between them (I use Mandrake 9.2 with the 2D hardware accelerated Sis driver). The JDK is the latest (1.4.2_02).

However, memory consumption at startup is lower for Eclipse (57 megs) compared to Netbeans (97 megs).

Now, I have to tell you that I dislike both Netbeans and Eclipse. I used a lot jEdit ( and is the ideal open source Java editor/IDE. It isn''t backed by "hairy chested" companies but only developers. Actually it resembles to IDEA. Or IDEA resembles to jEdit :-D Hint: IDEA is on the market since 3 years and jEdit is around since 5 years.

And you get a lot of plugins with jEdit. It performs better than Netbeans and it has a very powerful code editor (isn''t this one of the most important things?). Needless to say that the GUI is Swing based.

2. Regarding SWT vs. Swing
We get three main threads:
- performance
For now SWT is faster on Windows than Swing. But not considerably faster (warning: do not compare Eclipse with Netbeans. Compare it with IDEA or jEdit). On Linux, it''s hard to see a winner. I haven''t seen it on MacOsX but I''d say it''s about the same situation the least (Swing has powerful hardware acceleration on that platform).

Swing''s API is truly object-oriented (or at least this is the tendency) and it the MVC pattern heavily used. Programming SWT reminds me of MFC and Win32 API which both suck (my recent programming experiences tell me that).

- look&feel (LAF)
Myth: Eclipse integrates better into the OS''s LAF. Right? WRONG!

On Linux it certainly doesn''t look like a native application - the better look is GTK2 like. On Windows XP, hmm... I just put up Eclipse 2.1.2 on a WinXP machine. The scrollbars are XP like. So are the menus, and fonts. And the rest are custom controls anyway. Oh, wait. The bloody push buttons!!! They have a Win 9x/2k look regardless of the used OS theme (mine is XP Silver). So do combo boxes. But lists are OK. That''s hell of a LAF integration.

Now, I start a Swing application (jEdit) and I set the Windows LAF. True, it requires a restart (I never understood why - it''s something from jEdit''s kitchen). And, what a suprise? We have a Java Swing application that look just like a native one: scrollbars, menus, fonts, _buttons_, _combos_, lists etc. Oh, and if you change the theme while running Swing applications with Windows LAF, the LAF changes dynamically.

Now about that LAF integration. Let''s not strech this, shall we? Try it yourselves (Win XP sp1, J2sdk 1.4.2_03).

My conclusions:
Eclipse is OK (let''s see how 3.0 raises the stake). Netbeans is OK (probably 3.6 will rock). jEdit is my choice :-) Try it and see why.

SWT is inferior to Swing in almost every aspects. Personally, I prefer less performant but easily maintainable applications (that is Swing) over better performant and hardly maintainable ones (yes, SWT).

One more thing regarding the performance of SWT and Swing. Swing''s performance will let''s say change in new j2sdk versions. Especially under Linux. Don''t ask me, I know nothing.

Do you think SWT can get any more performant? Think about one or two years from now. Will you prefer an API that is poorly architected, less performant and has signs of LAF illness? And that isn''t 100% java?

Think again.

sstrenn 12/29/03 07:38:27 PM EST

Folks, let''s just admit a few things about Swing. It is STILL SLOW after all of these years. There is virtually no getting around it. I recently loaded JBuilder v9 on my 3GHz, 1GB RAM Pentium 4 machine and I still notice delays when I click on menus. Did I mention it was version 9? And that it was written by the folks at Borland, who certainly know more about Swing than I do. The same delays hold for nearly every other significant Swing app I have used. You rarerly or never seen such delays in non-Swing apps.

Swing''s LAF''s are cartoonish and their fonts are laughable. And having GUI controls based on native widgets is a significant advantage. When I deploy an SWT app in a corporate environment that is a mix of Win2000 and WinXP, the file dialogs, for example, all look exactly the way the USERS EXPECT, exactly the way it looks in all of their other apps.

And Henry Roswell''s point about ease of developing responsive apps should be heeded. Take a number of ordinary, equally-trained programmers and have them write significant GUI-based apps in Swing and SWT respectively. The SWT apps are very likely to be fast and responsive. The Swing apps are not likely to be fast and responsive. As a teacher whose students use Swing, I wish that were not the case, but it is.


Chang 12/28/03 06:42:26 PM EST

Charlie, you can view editors side by side by dragging an editor tab to the top, bottom, left or right of its current position. You can have as many rows and columns as you like. I also use Eclipse on OS X so I know it works on that too.


Charlie 12/27/03 10:44:00 AM EST

I have been using v. 3 of eclipse on Mac OS X and the widgets look and act like the widgets on all the other Mac OS X programs the menu items appear where you would expect them to appear, context menus look and act like the other mac context menus scroll-bars, input boxes, dropdowns all with the the nice aqua interface which presumably take advantage of quartz extreme as does the latest release of awt and swing for OS X.

I do have one complaint, I often want to look at editors side by side, how to achieve this in eclipse is not readily apparent to me, if it is indeed possible.

I do not expect eclipse should look like a browser or photoshop or anything in particular, it certainly seemed intuitive to me, though. You have the basic framework most applications would require laid out in a straightforward manner ... navigation pane on the left, menus on the top, with a toolbar directly beneath and a content area to the right of the navigation pane where views and editors appear as well as context menus where you would expect them. All basic stuff you see in many GUI applications on most GUI centric OS''s. It seems rather elegant in it''s simplicity, and certainly not ugly

Jesse Barnum 12/27/03 09:57:33 AM EST

This article exactly echoes my complaints of Eclipse. As a Mac OS X user, I''m used to an OS and applications that are intuitive, fast, decent-looking, and which don''t make me feel like I''m getting a chewed-up, hacked windows port.

Maybe Eclipse is decent on Windows - never tried it. But the reason that I selected Java in the first place is because it makes the Mac into a first-class citizen, and levels the OS playing field. SWT goes against this level playing field concept. On the Mac, it is *ugly*, counter-intuitive, and has its own peculiar UI that inherits none of the behavior that I''m used to from other applications.

My development tool of choice is IDE by a long shot, for the same reasons that many posters have already listed. You may complain about the price, and perhaps for those who program as a hobby or as a labor of love (ie. free), this is a valid complaint. However, I ama professional software developer, and I get paid alot of money for the software that I create. A $500 investment for a core tool that makes me more productive is such a clear cost-benefit winner that the cost is a non-issue.

Jeff Lawson 12/22/03 11:45:14 AM EST

Hi T.

You are right that Eclipse plug-ins could be handled better (e.g. made dynamically loadable/unloadable without restart). Thankfully, the Eclipse developers/developer community agree: check out the specs. for Eclipse 3 (milestone 6 just released; final release Q2, 2004), there''s a slew of great stuff there.

The Eclipse Visual Editor provides GUI builder support for Swing (now) and SWT (Q2, 2004).

T. Gibson 12/22/03 10:44:27 AM EST

One IDE to rule them all: IDEA IntelliJ

IntelliJ is hands down the best of breed. It offers just about everything a true developer would want without all of the fluff. The refactoring tool is simply unmatched and I have used but NetBeans and Eclipse. ANT and CVS integration is nice, not a single hippcup. Other than the fact that it is not free I really don''t have a problem with it.

Believe me I am not trying to shill for IntelliJ but sometimes you get what you pay for.

I would have to give a slight nod to NetBeans for their Swing GUI Builder.

The primary problem with Eclipse is that is tries (sometimes unsucessfully) to be everything to everybody. For example the way that plug-ins are handled I think could be a lot cleaner.

JDeveloper is cool if you are working with other Oracle products(such as database, BC4J, ect). It is so tightly integrated with other Oracle''s products it reminds of Microsoft.

With all of that said Visual Studio simply destroys all of these IDEs including my favorite IntelliJ. Hopefully Project RAVE can raise the bar in the Java world.

My .02

Mike 12/19/03 03:06:32 PM EST

I''m wondering if thoughts actually formed in your mind before you started typing or if you just unleashed this steaming pile of crap onto us.

Next time, please observe proper bathroom etiquette and do us all a favor...courtesy flush.

Drag the offending file to the recycle bin and empty ASAP!!

Charles Fulnecky 12/17/03 03:30:18 PM EST


That is the problem with these web posts, irony and tongue in cheek humor is not always obvious.

Perhaps I was just a bit too subtle, and I am really not trying to start a flame war, only to point out what you have already said, Henry & broad generalizations benefit no one. Specific and directed criticisms benefit us all even if we rebel against them initially.

Perhaps as developers we have become so used to being defensive about our code that that attitude seeps into other aspects of our professional and non-professional lives.
Anyway, if I have offended anyone, I apologize, my intent was to interject some gentle humor and nothing else.

C. Fulnecky (a.k.a anonymous coward)

Henry Roswell 12/17/03 12:47:48 PM EST

Alan and Mr/Ms anonymous
I didn''t mean to ramble so aplogies for my poor writing style or using big words that made it difficult to understand.
If you want to engage a flame war you''ll need to look elsewhere for an opponent, but if there are actually specific points where you didn''t understand the argument please be more specific.
Take care - Henry

Jim Hargrave 12/16/03 08:43:53 PM EST

I used SWT for an international text widget to display Thai, Cambodian and Laotion. It was a failure. SWT''s I18N support sucks. I happily returned to SWING and have not regreted it. If SWT wants to be taken serioulsy it must be properly internationalized!!

anonymous coward 12/16/03 08:03:12 PM EST

Yea, and Henry used lots of big words and other stuff I didn''t understand ....

Alan Eisen 12/16/03 06:51:47 PM EST

I think Joe writes a coherent sentence and Henry rambles.

Jeff Lawson 12/16/03 12:43:31 PM EST

Joseph, I hate to point out the obvious retort, but if you RTFM then you will know that eclipse.exe is inadequate. You will need something like:

C:\eclipse\eclipse.exe -vm C:\j2sdk1.4.2\bin\javaw.exe -vmargs -Djava.ext.dirs= -Xms128m -Xmx128m

or something similar on non-Windows systems, of course.

Joseph Ottinger 12/16/03 11:55:30 AM EST

I hate to point out the obvious retort, but "eclipse.exe" on at least two of my platforms yields a "command not found" error... and that''s not because it''s not in my path. :)

Axel Guerrero 12/16/03 11:41:08 AM EST

I''ve used Eclipse since 1.0 and love it... (I also loved VisualAge for Java). For those with memory problems using Eclipse, try the following: eclipse.exe -vmargs -Xms128m -Xmx128m. Also download the memory monitor view and install it. After a long time of editing/compiling you''ll notice that eclipse is a bit slower; switch to the memory monitor view and collect garbage.. Eclipse will once again be snappy..

Trey Spiva 12/16/03 09:43:03 AM EST

I am working on a probject and we decided to use Eclipse. Eclipse worked very well at first. However as the number of files has grown Eclipse has become more unstable. Eclipse runs out of memory every few hours.

Also with medium sized files the editor slows down until it is almost unsuable. Our experience has become so bad that members of my team have started to check out other IDEs.

BTW you really have to check out the latest NetBeans Development build. They have significally changed there UI and it is MUCH better. Finally Sun has got a clue about UI.

David L. Smith 12/14/03 03:56:22 PM EST

Bingo, Mr. Lawson. You described what being a developer is all about: building software that fits the users needs. It isn''t about promoting our beliefs or philosophies.

Bottom line is that Eclipse works in some cases; but not all. I''m considering using Eclipse to build a client interface for many of the same reasons you have chosen  for example, an updatable framework, speed, and third party plug-ins.

Jeff Lawson 12/14/03 02:14:53 PM EST

I wrote a successful COTS product using Swing. Customers thought it was great because it enabled them to easily achieve XML/Database interoperability for very sophisticated DTDs and XML Schemas (CSDGM, GML, etc.).

What my customers didn''t like too much was the requirement that they build Java projects and manage things like the Java class path. I didn''t like the fact that Swing was slow.

In version 2, I migrated entirely to Eclipse. Now my code generates a Java project and Java issues like the class path are taken care of by Eclipse (it''s an Eclipse plug-in).

Customers loved the fact that they can now achieve XML/Database interoperability without needing to be Java experts BUT they were blown away by the performance and the professional look of the version 2 product.

I was able to leverage an enormous amount by moving to Eclipse and now customers want SWT-based thick-client GUIs from their DTDs and XML Schemas (they will be getting that in 2004, Q2).

There has been much talk of wanting Java to succeed. For me, Java has succeeded but I can understand the worry that it may not continue to do so. The technical excellence of Java suggests that it ''deserves'' to succeed but the history of computing is littered with good-looking corpses while mediocre products have grown on the back of marketing.

There is a danger that well-intentioned folks miss the point in some of these discussions and in efforts to find the best path forward. Talk of ''pure Java'', for instance, is in principle fine but often misses the mark. My Eclipse-based product was developed under Windows and ran first time without a problem on GTK Linux. I used ''pure Java'' even though the platform was not pure Java but who cares about the implementation of the platform provided that the end result works well? It''s irrelevant. My customers see a great product that they can run on a variety of operating systems and they don''t even care that it''s Java.

Although much good work is being done to improve J2SE 1.5, some of the language changes are a joke: boxing of primitives and simpler for-loops, etc. add very little (declarative attributes for web services etc. will be good).

The one change that would make the largest difference in moving Java forward is the elimination of class path problems. Obviously, the class path is needed but it presents too many problems in far too many systems (having to use the correct class loader in some environments, for instance; lack of good diagnostics for novices; etc.). The class path needs a fundamental design change. I''ve been developing COTS software for twenty years (MC68000, C++, Java) so if the class path impedes my progress, and it does, then it''s broken.

Another great change would be for Java compliers to generate native code. We are so used to downloading platform-specific software (e.g. J2SE!!!), it''s a short step to ditching bytecode altogether (actually, keep it around for the nut-cases while those of us with a requirement to be commercial can go with the performance improvement).

Those folks who see Java/JCP as a terrific development language and a sensational platform should not allow those who see Java as some sort of religion to set the agenda for ''purism'' when it''s pragmatism that is required.

Software development is holy only to a few feeble-minded developers: for the everyone else its stuff that makes computers work and we want the sort of stuff that delivers the best results. When I see something better than Java, I''ll use it but I''d prefer that not to happen for a long time yet!

Jon Allen 12/13/03 10:02:37 AM EST

To Maciek Wegorkiewicz:
Code locking is the resaon why I did not use Net Beans. Try JBuilder - It does it right. I won''t use Visual C++ editor because strange comments are added into the code, this is wrong also. The developer should be able to cut and paste code and see the changes in the designer as it happens. Visual Caffe also did it right, but had a strange event editor that I never figured out. All designers must be two way with no limits in my book.

Charlie Fulnecky 12/13/03 08:45:12 AM EST

First I must confess I have little experience with NetBeans, I have tried it but it never offered me enough to switch from JDeveloper with which I was comfortable. Eclipse is a horse of a completely different color. The architecture of the framework is ideal for implementing what is referred to as composable architectures in the DOD community. The ability to develop, deploy, download, install, update and use interoperable tools all from within the same environment appeals to me on so many levels.

As for SWT vs Swing, they both have pro''s and cons, but for tool and application development I have found that a common look and feel is key to integration of various tools used in mission critical applications, and the unfortunate truth is that most DOD sites have standardized on windows, the advantage to SWT is that widgets behave as the user expects them to behave, wether it is 98,NT,2000,XP, OSX or Linux making cross tool/application training (read java and non-java) more intuitive.
I have been using eclipse for about 3 months now, on Redhat 9, Mac OSX, Win98, NT 4.0 and Windows 2000 and love the interface on all of them.

If I can''t find an open source or free plugin, I have been able to write my own after purchasing a few of the 5 or 6 available books on eclipse (really interested in the Eclipse Modeling Framework)

I am willing to admit the possibility that NetBeans may be a superior Java IDE, however, the shear number and diversity of plugins available for eclipse makes it obvious to me that as an application/tools framework eclipse is the obvious choice. And the JDT (eclipse Java Development Tools) is a wonderful source of code and concepts for my own plugins and features.

Thomas Hallgren 12/13/03 05:40:32 AM EST

A somewhat filosofical reflection...

We have at least two main contenders in both the Open Source IDE and the Java GUI market. This is extremely good news. Why? Simply because competition is what drives improvement.

So to all you Netbeans fans, rejoice over Eclipse! It forces Netbeans to improve. And vice versa. Same goes for Swing and SWT. And while all users should be happy about this, let the implementors sharpen their swords and keep on fighting.

And may Borland tremble at the though of it all (and lower their prices significantly ;-) ).

Vikram 12/13/03 12:32:34 AM EST

I am using WSAD which I believe based on Eclipse, there are few annoying things with this IDE, it bothers me pretty much. I also used sun one IDE which I found more easy, intutive, industry standard expectation in editor like I can match my opening and closing brackets by keys and can navigate using that as a technique such a small long time feature of editor is not there in WSAD,
WSAD locks files on Windows OS, Needs to restart WSAD or some times even windows, suddenly shows some files has errors, but in reality there is no errors found, Once I have those errors my project will not be built, there is no way I can compile a single file (Damn stupid). gives falls warning on JSP scripts with no proper explanation, the worst integration with cvs, I check out the project from CVS, WSAD creates that project on file system but does not show up on any perspective even after refresh, restart etc..
It also creates some runtime error which I have not seen so far, using any IDE and sun jdk x.x, just does not make sense to me.

Overall frustrating experience, Its not robust, would use any other IDE over WSAD like IDEA or sun one.

About me using Java/J2ee for around six year, believeing in
innovative, creative environment.

Good to know that sun has not joined for good or bad, Expecting healthy and serious competition from sun.
For sun its time to start your show.

John Clingan 12/12/03 05:42:50 PM EST

Someone mentioned a lack of struts support in NetBeans so I thought I would point this out:

Eric Herman 12/12/03 05:41:05 PM EST

I like Eclipse, no surprise: I liked VisualAge.

Eclipse isn''t as pretty on linux, it''s true. The motif version is butt-ugly, and (for me) the GTK version is crashy.

This doesn''t bother me because I like it enough to watch it improve. I like that it is similar to VisualAge. I like that it is OpenSource. I like that I can write the "Hello World" plugin and add it in. I like that other people have written very powerful plugins some of which I''ve downloaded. Eclipse isn''t just "a" tool: my combination of plugins makes Eclipse "my" tool. I like that it gets better with every "milestone" release. All of this makes Eclipse so fun to work with, that I don''t mind its warts: they seem temporary.

If it stops being fun, I''ll switch tools. Until then, I''ll be coding with a silly grin on my face.


Jess Holle 12/12/03 03:11:37 PM EST

I''ve used NetBeans for almost between 1 and 2 years now.

It took me a few couple of hours to figure out how to get started with -- an issue purely of poor presentation of a few critical starting concepts -- all of which should be (finally) addressed in 3.6 as I understand it. After that most everything has been fairly straightforward.

The first several versions were slow -- especially with JVM''s prior to 1.4.2. By NetBeans 3.5.1 and Java 1.4.2 (why would you bother with any JVM prior to that to run a Java IDE?), NetBeans runs quite quickly. [Tuning the JVM heap and gc parameters helps too -- NetBeans should do better at this out-of-the-box for "known" VMs, e.g. Sun''s.]

I tried Eclipse hoping to get a good feel for its capabilities and advantages. I figured this should take no more than the few hours I wasted getting up to speed with NetBeans -- given all the hype about it being easier to use. I ended up giving up -- perhaps because I was never a Visual Age user.

I tend to agree with the pro-Swing side of the SWT and Swing comments thus far. Especially telling is the notion that IBM made the Swing vs. SWT decision while they were on a 1.2.2 JVM. IBM lags Sun''s JVM releases by *way* too far - at least in the versions they use in their products and they have themselves to blame for this. SWT is a neat native component integration technology when it comes to ActiveX components. As with any other part of the application, however, one should code to all platforms except in narrow cases where one truly needs to write platform-specific code.

Coding apps (vs. very carefully targeted pieces thereof) in SWT is an over-reaction and a design decision that is already obsolete. In Java 2 v1.4.2 Swing can be plenty fast -- as shown by IDEA. NetBeans'' does not make such a compelling argument for Swing, but in recent versions it does not make a case against Swing either. The nature and timing of this improvement points to both improvements in each Java version and improvements in NetBeans'' application code.

In any event some of us have to support a half-dozen or more disparate platforms with every GUI we write and there is not enough time in the world to adequately sweat the platform specific quality differences and deployment details (applets, anyone?) of all of this with SWT. I don''t really care that SWT looks 5% better or even 30% better on Windows if it does not behave consistently well on all platforms and deploy without requiring native code beyond that in the JRE!

Scott Shaffer 12/12/03 12:59:04 PM EST

Dear Mr. Blanton,

If the greatest criticism of IBM''s ability to create a user interface is to refer to it''s OS/2 operating system, I feel quite comfortable in my choice to use Eclipse. Somehow I doubt whether you have ever used OS/2. I have, and I am still waiting for the other OS''s to catch up to the user capabilities I had with OS/2 years ago.


Jeff Blanton 12/12/03 12:20:27 PM EST

Well after using both Netbeans and Eclipse extensively for well over a year now I can say without hesitation that Netbeans is far superior in every way. Netbeans is just pure Java and produces pure Java Swing with no extra crap thrown in. Netbeans has a far more intuitive interface and is just dang powerful. It does everything you could possibly want to do in an IDE. When I fired up Eclipse on the other hand it took quite a bit of time just to figure out how the dang tool worked. Eclipse''s use of those dang views for different behaviors is counter intuitive and a kluge. Eclipse feels like twenty different apps smashed together with glue and paper clips while Netbeans is clean and intuitive. Netbeans is far closer to Microsoft''s Visual Basic environment which is by far one of the best development environments ever made. Eclipse on the other hand feels like a glorified form of Wordpad. IBM just can''t make a good user interface to save their lives, need I remind anyone of OS/2 and Lotus Notes! So if you want a good IDE that is free, is Java standard, and runs on just about anything, there is only one choice and that is NetBeans.

David Whiteman 12/12/03 11:53:18 AM EST

Denis, Eclipse has all of those except the VCE out of the box. And work is underway on an open source VCE for Eclipse (see an earlier post in this thread for a reference).

Denis Baranov 12/12/03 11:42:48 AM EST

Dan Bartel, your generalization does not stand. I loved VisualAge (for its VCE, debugger, bytecode hot-swap, code-assisting...) but Eclipse means nothing to me.

Patrick Schriner 12/12/03 11:32:38 AM EST

@Darren: You might make a SWING application that looks native, but thats not the same as being native (in most aspects).

(I just tock a look at, or

I do not see a good reason why I would want my Linux app that is by coincidence written in Java make look like Windows. That is even more true for MacOS X or Windows CE. Maybe for Linux the battle for the best GUI Toolkit has not been fought to the end (which might explain bad performance (missing cooperation)), but that is not an Eclipse problem. As anyone registered on the Eclipse Developer Mailing List (something I recommend for anyone developing for Eclipse) might have noticed, there is some thinking into contributing to GTK (for instance), something Microsoft has done for MacOS X as well (for better Office X integration).

@Josh: Eclipse might be hyped against VS, but is battling on a different field. Eclipse is Code-Centric, VS is not.

Josh Vas 12/12/03 11:00:44 AM EST

It''s great to have opinions, even if you work for the company that makes the IDE you''re stumping for here. It''s clear to me that this visceral reaction to SWT fully reflects the pressure Eclipse is putting on the Borlands and Suns of the world. It seems to me like these companies had the chance to serve their respective communities by not exploiting them, but decided to try to lock them in anyway. SWT is a great idea and will probably be the ''last man standing'' in the battle vs. .NET, but IMO Sun et. al. have themselves to blame for continuing to dish out their self-serving ideologies.

Brad O''Hearne 12/12/03 10:53:23 AM EST

The funny thing about these articles was that the title was all wrong. This wasn''t point/counterpoint between Netbeans and Eclipse. Neither guy particularly cared for Netbeans -- and the real debate was SWT. Ironically, that seems to be the same debate Sun and IBM are having.

I wrote a Netbeans module last year and used it intensively. While the framework is interesting, the actual performance was prohibitively miserable. Its what I call PatheticWare -- not exactly a virus, but performs so poorly it is nearly impossible to use. Eclipse on windows rocks. I will be trying it on my Powerbook soon. And having programmed in SWT, I really like it. However, while both SWT and Swing are impressive, both API''s have missed the boat with some design aspects, and something better will come along eventually.

Steve Harris 12/12/03 10:43:18 AM EST

Why do you want to develop on Linux, if eclipse runs better on Windows?

Dana Kaufman 12/12/03 10:42:23 AM EST

To Maciek Wegorkiewicz:

JBuilder Swing Designer has no code locking. It is a true two-way tool.

Maciek Wegorkiewicz 12/12/03 10:39:05 AM EST

To Jon Allen:
Code locking is one of the greatest NetBeans advantages.
It provides you with real two-way process between form editor and source editor. If you have no code locking, you have no form editor but form wizard for real. Think of it.
If you put any changes into code generated by GUI editor how can you apply changes in that GUI editor? You risk that your code is overwritten or made functioning wrong. In NetBeans you are not afraid of it.

Jon Allen 12/12/03 10:30:26 AM EST

I tried Net Beans and hated the code locking, where you could only edit where it let you. I am doing embedded Java now and that group says that Eclipse is so much better. I tried to like Eclipse. Its kind of nice but it made a mess out of my project. Added too many directories. Its also strange to work with! I downloaded JBuilder 9 personal. And that is what I am sticking with. JBuilder 9 personal has 90% of the features I need in an interface I like by far the best. I have been using JBuilder for 6 years and still have not seen a replacement from the Open Source world. (And for those who say that Java has no IDE like C# has from MS Visual Studio... I hate Visual Studio!)