|
JAVA WATCH: Eclipse, NetBeans and JSR-198
By Steven J. Vaughan-Nichols
March 15, 2003 In this corner, weighing in at a net worth of over $22 billion, is the Java IDE challenger: IBM with Eclipse and its friends. And in the other corner, the founder of the cause, the Java Jock, weighing in at a net worth of just over $3 billion and the still-undefeated champion: Sun with NetBeans. Are you ready to rumble?
If money were everything, it would be no contest. But its not. Sun still leads the Java community, even though theres more grumbling than ever from Java followers. What may tip the scales, though, is that Eclipse, lead by IBM, is gaining popularity quickly in the IDE fights.
Partly, I think thats happening because of purely technical reasons. In NetBeans, cross-platform interoperability is the name of the game. With Abstract Window Toolkit (AWT) and Swing, an IDE not only produces code that works on multiple platforms, the IDE itself, right down to its windows, works and looks the same whether youre running on a top-of-the-line Sun Blade 2000 Workstation or a pokey Linux Pentium box.
As has always been the case, though, with such blanket interoperability, you have to pay a cost in memory size and speed. Even developers who like NetBeans tell me that its a slow pig that needs every clock tick it can get and as much memory as you can jam onto the motherboard.
Eclipse, on the other hand, isnt 100% Pure Java. Its graphics infrastructure is provided by the Standard Widget Toolkit (SWT), which uses the GUI provided by the resident operating system. It works a lot faster, but youre not going to be able to step from Eclipse on an IBM pSeries system running AIX to a Windows PC without having to look two make that threetimes, to make sure that the IDE framework really is still Eclipse.
The differences are more than skin-deep. Ive also been finding that hard-core coders, who are perfectly happy to polish up their projects with EMACS, much prefer NetBeans over Eclipse. Truth be told, what they really want is xTerms, but if they have to use a graphical development environment, NetBeans is the one theyll use. Enterprise developers, on the other hand, tend to prefer Eclipse. While these two groups argue like cats and dogs, once you get past the religious wars, they have the same goal: producing good programs as quickly as possible.
That said, though, right now its an either/or choice. You can use NetBeans or Eclipse, but not both, not easily. There have been reports from within both camps that imply efforts to bridge the gap between Eclipse and NetBeans, but whenever I try to find out more, I end up stonewalled. I strongly suspect that both sides are talking the compromise talk without walking the walk.
Except, that is, for Oracle. Oracle was, and still is, a longtime supporter of NetBeans, AWT and Swing. You dont have to take Oracles word for it. You can see it in JBuilder. But, then in November of last year, Oracle joined Eclipse and at about the same time proposed JSR-198, the Standard Extension API for Integrated Development Environments, to the Java Community Process.
JSR-198 is based on AWT and Swing. Now, a cynical person would say that Oracles executives were only doing this to let traditional Java programmers know that they were still keeping the NetBeans faith even though they had joined the Eclipse board. In short, Oracle was trying to have its cake and eat it too.
I dont think the cynical reason is the right one. Oracle realizes more than the other Java IDE players that C# and Visual Studio .NET are the real challenges to Java and its IDEs. Therefore, Java needs a way for independent software vendors to easily use either Eclipse or NetBeans for their development.
And part of that, of course, is to let development-tool ISVs write add-in programs that will run on either framework without modification. In short, if JSR-198 is broadly accepted, tool developers wouldnt have to write multiple versions of their add-ins for their stuff to work with either IDE.
This is a great idea. Will it lead to a unified IDE for Java? No, it wont. IBM and Sun dont want to agree with each other for competitive reasons that go far beyond development tools. Besides, IBM wants to expand Eclipse beyond just Java.
That said, if JSR-198 is adopted, it will make any Java developers life a lot easier, since it means that theyll be able to use almost any third-party tool regardless of whether the developer is using Eclipse or NetBeans. It may not be Java IDE unity, but a good JSR-198 bridge may be the real knockout in the Java IDE fights.

Steven J. Vaughan-Nichols is editor of Practical Technology (www.practical-tech.com) and has worked as a programmer for NASA and the Dept. of Defense.
|
|
Advertisement
Click here for a complete listing of Java Watch Columns.
Click here to see a complete Column Archive. |
Back to Top
|