Switch styles (Capricorn). XML Feed Calendar
All | Developers | General | Java | Surfing
20060518 Thursday May 18, 2006

Hell Freezing Over

The title of this article should not be credited to me, but Mike Milinkovich from Eclipse in his blog entry about a contribution to the CVS sourcebase for Eclipse. Honestly, I can't defend the contribution (personal bias) and my only comment about the usefulness of SWT in the context of portability and compatibility is that this sort of change shouldn't be necessary to use Eclipse on Solaris/x86.

Swing works just fine thank you very much.

In my mind, it proves once again that SWT is the wrong solution.

So ... Milinkovich says they won't change the name ... but consider embracing the purity of the Java platform completely by dropping SWT and perhaps the gulf between tools like NetBeans and Eclipse won't be as wide. Posted by brewin May 18 2006, 03:31:13 PM PDT Permalink Comments [10]

Comments:

A-fucking-men.

Posted by X on May 19, 2006 at 02:33 AM PDT #

You seem to be suggesting that SWT is bad because some platform specific work is required. Are you suggesting that no platform specific work is required when new platforms are supported (or existing support is extended) by Swing? How much work is currently being done to make Swing appear correctly on Windows Vista? (I honestly don't know). SWT runs on it with a native look and feel with *no* changes. How's that for portability and compatibilty?

Posted by Wayne Beaton on May 19, 2006 at 03:36 PM PDT #

One thing to consider here is the reason why this change went in at all ... very simply it's because without a change to the SWT GTK implementation, an application (in this case Eclipse) would not run at all (the RCP requires it) on the OS.

How portable is that ?

The platform itself (RCP/SWT) is non-portable as opposed Swing itself (any application which uses Swing will work anywhere ... )

Case in point ... if you've been following the "Semplice" project news from JavaOne, where a small team has been working on getting BASIC language programs running on the Java platform, in one evening a team member (Herbert) quickly built and deployed a Swing-based "VB/Java" application to the SavaJe phone that being sold at Moscone. Now that's portability.

I understand the L&F concern ... however given a one-time investment in having Vista L&F support built into Swing (demonstrated at JavaOne) that still allows you to take your application and run it on Solaris, Linux and a host of other operating platforms unmodified ... isn't that of much greater value ?

Posted by Robert Brewin on May 19, 2006 at 05:16 PM PDT #

How is the one time Swing investment in the Vista L&F any different (conceptually) from the one time investment for SWT?

Your original argument was that SWT is bad because you have to write some platform specific code for it to work. My argument back is that you also have to write some platform specific code for Swing to work (does the file chooser dialog look the same on Windows and Linux?). When it comes down to it, somebody has to write platform specific code for both (at one level or another).

I can run Eclipse RCP applications on my phone. You're right... that's portability.

I can run an SWT application on Solaris, Linux, and a host of other operating systems unmodified. The fact that Solaris X86 wasn't supported before this patch was a point-in-time problem. Just like Swing not having a Vista look was/is a point-in-time problem.

Posted by Wayne Beaton on May 19, 2006 at 06:12 PM PDT #

Meh, Google doesn't seem to these concerns. http://code.google.com/webtoolkit/ It uses SWT (and JDT for that matter :) - Don

Posted by Donald Smith on May 20, 2006 at 08:00 AM PDT #

And Google using SWT somehow justifies this ? Go look at the Developer Forum discussions ... look for SWT and read about some of the problems people have had because of missing .so files, unsatisfied link errors on various OSs, etc. Granted ... this was just a superficial read on my part so I might be missing some basic and common bug here, but subjectively this proves my point ... if they used basic Swing components instead of SWT/JDT, none of this would be occuring.

(Oh, and as for the phone bit ... I think the point was missed ... the Swing-based code from the Semplice team just ran unmodified on a phone that supported Swing ... that's any phone, not one that someone did the widget work).

On a completely separate topic, note that my primary disagreement is with SWT, not necessarily Eclipse ... I'm a huge fan of NetBeans (yes, I'm biased) ... but because of Eclipse, it has forced NetBeans to improve ... to the point where I believe in many areas it is superior (granted that while there are areas where Eclipse is better, don't count on that remaining so forever). Talking to a large number of developers at JavaOne this past week, I found it interesting that a reasonably significant number actually used both ... Eclipse has some features (mostly related to the editor) that these developers preferred for certain tasks while in others (Java EE, W/Ss or for such tools as Matisse), NetBeans was what they used.

Competition is good ... and I suspect that this will remain a highly-competitive and useful (especially to the developers) two-horse race

Posted by Robert Brewin on May 20, 2006 at 04:46 PM PDT #

Two horse race? Between Eclipse and IntelliJ you mean? Any realistic stat I've ever seen shows it as Eclipse, JDeveloper, IntelliJ, Netbeans. - Don

Posted by Donald Smith on May 20, 2006 at 06:44 PM PDT #

So you don't like SWT. That's fine. But your original point was that SWT is bad because platform specific work needs to be done. My argument is that platform specific work needs to be done by someone at some levelin both cases so your argument is invalid.

Now, a huge point in Swing's favour is that it is available anywhere Java is. Well... almost anywhere. J2ME doesn't include Swing, does it? So... as long as your phone is capable of running J2SE then you've got Swing. And for the phone to support Swing, doesn't somebody have to do the widget work at some (AWT) level?

I happen to prefer SWT. I don't hate Swing. Take a gander over my last two weeks of blog entries if you want proof.

Posted by Wayne Beaton on May 20, 2006 at 09:21 PM PDT #

One of my sources is the Evans Data North American Developer Survey (fall of 2005). I'm not sure how much of this I can disclose in this forum (I'll check), but the top two IDEs (question asked was preferred IDE among Java developers where they could choose from a fixed list) are Eclipse and NetBeans (followed by WebSphere and Sun's Java Studio ... arguably, those are also Eclipse and NetBeans respectively). JDeveloper, BEA and others start below 1/2 of the NB percentage.

Now granted you have to remember that surveys may be suspect (depends on sample size, the questions asked, etc.,) but Evans is usually a good source for developer data.

In this survey, the Eclipse (and derivative IDEs) are roughly 1/3 again more popular than NetBeans (and it's derivatives) ... but NetBeans is currently showing a higher growth rate (this year) ... thus a two horse race.

Cheers!

Posted by Robert Brewin on May 20, 2006 at 10:11 PM PDT #

What bullshit! Sun should be compiling and shipping the native libraries like SWT instead of emulating the operating systems. Zoft

Posted by zoft on May 21, 2006 at 01:00 PM PDT #

Post a Comment:

Comments are closed for this entry.