> I should note that eclipse, although great, isn't 100% Java. It has
> platform dependencies. I ran into this problem getting it to run
> under Linux. It had library dependencies in addition to those of the
> Java SDK. I switched to netbeans and have been pleased.
>> I should note that eclipse, although great, isn't 100% Java. It has
>> platform dependencies. I ran into this problem getting it to run
[quoted text clipped - 3 lines]
> If I recall, the GTK2 version has various dependency issues, but the
> Motif version does not.
It still isn't as portable as Java. It uses native methods for its
windowing system. I don't know why they made that choice.

Signature
Kenneth P. Turvey <kt@squeakydolphin.com>
Artificial Intelligence Algorithms Wiki
http://ai.squeakydolphin.com
Jon A. Cruz - 09 Feb 2004 01:40 GMT
> It still isn't as portable as Java. It uses native methods for its
> windowing system. I don't know why they made that choice.
Actually, it's not so much as native methods for it's 'windowing
system'. Rather it uses native UI widgets. (in Most Unix/Linux
configurations, the 'windowing system' is a separate layer)
Anyway, the SWT homepage over at eclipse starts by explaining a lot of
their rationale. That would probably be a good place to start.
http://www.eclipse.org/platform/index.html
Look to the "SWT" page.
Or... at the moment this is the frame's URL
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/main.html
Dale King - 09 Feb 2004 19:11 GMT
> >> I should note that eclipse, although great, isn't 100% Java. It has
> >> platform dependencies. I ran into this problem getting it to run
[quoted text clipped - 6 lines]
> It still isn't as portable as Java. It uses native methods for its
> windowing system. I don't know why they made that choice.
SWT actually has a long history and actually predates Swing. It was
originally created as replacement for AWT for doing UI's on embedded
systems. They later just used it for Visual Age Micro Edition which is sort
of a predecessor to Eclipse.
--
Dale King
Scott Ellsworth - 09 Feb 2004 21:22 GMT
> >> I should note that eclipse, although great, isn't 100% Java. It has
> >> platform dependencies. I ran into this problem getting it to run
[quoted text clipped - 6 lines]
> It still isn't as portable as Java. It uses native methods for its
> windowing system. I don't know why they made that choice.
Because they did not have confidence in Swing and its future. They felt
that a combination of pre-existing native widgets with ones they
implemented for each platform would have more performance, better
behavior, and overall more predictable properties than platform vendors
could get out of Swing. In other words, they felt Sun dropped the ball
by not enhancing AWT to above the least common denominator.
This was not a theoretical exercise. IBM wanted to implement WebSphere
Studio using this widget kit, and they wanted it to perform well and
look good. They could compare it to Visual Age, a LISP critter IIRC, so
they knew could get performance out of an OO tool, and thus that Swing
was not up to it.
Perhaps more important, there were core design decisions that made them
unhappy. For example, Swing can have every table row provide a
different height. Thus, to render a table in a scroll pane requires
iterating through each row to get that height. Many other tools have
just a fixed height, and thus you do not need to visit cells in your
table model until you need to render the row.
Swing has improved a lot over the three releases of Java since then, and
its performance is now quite credible on many platforms. Further,
performance of the SWT depends on implementation quality and age. Six
months ago, the MacOS X SWT port was dog slow. Now, it is pretty snappy.
From my perspective, the jury is still out. I find IDEA (Swing) as
snappy as Eclipse (SWT), and I like the look somewhat better. This
could flipflop easily, as a run of profiling and UI analysis on either
front could reverse either the performance or the look positions.
Scott