IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Sun vs. IBM and the origins of Swing
This is a great read obviously a bit biased by an IBM'er about how Swing came about [link|http://www.mail-archive.com/jug-discussion@tucson-jug.org/msg00355.html|Origins of Swing]

While this may all be true, I believe that there is another reason why Sun went with Swing (a lightweight gui framework). Development on Swing was started at the height of "Java the Client" hype, and Sun was very enamored of displacing Microsoft on the client with Java. Swing was a good vehicle for this, as it allowed Java applications to have their own "Java" look and feel as opposed to looking like Windows. Sun believed that all Java apps would use the Java look and feel creating a new client look. Of course, history showed otherwise. If Swing had been done extremely well it may have worked, unfortunately for Sun, the early versions of Swing were really slow and had a huge number of bugs. In hindsight it is clear that Swing was a huge mistake, if Sun had continued with the AWT, fixed the bugs, and added controls (like table, tree, notebook, etc.) Java might actually have had a good chance on the desktop. If anyone has used Netbeans, they know that with Swing there was no chance.
New Wow - good posting
I just finished dragging my students through Java I/II including a very Swing/AWT-heavy romp through GUI programming.

I explained the difference between AWT and Swing and since we use Eclipse as our IDE, also mentioned SWT. This was definitely the toughest section of the course but my class soldiered through. (As a reward, I slowed down the pace and gave them more hands-on projects which they enjoy more than listening to me lecture.)

I'm interested to hear more about this Eclipse GUI builder, though. I'm assuming it's a plug-in, but I don't remember seeing it in the list.

Tom Sinclair

"Man, I love it when the complete absence of a plan comes together."
- [link|http://radio.weblogs.com/0104634/|Ernie the Attorney]
New Re: Sun vs. IBM and the origins of Swing
I ran into that too and posted it on Java Lobby. Turns out there are some factual errors. Still an interesting read though.

See [link|http://blog.xesoft.com/page/jon.lipsky/20030221#a_good_read_no_truth|http://blog.xesoft.c...ood_read_no_truth] for more details.
New I don't buy it
For example, IBM VA Smalltalk never achieved the market share of VisualWorks.

I can't believe Swing is the result of a team of Smalltalk developers (although Lee Ann Rucker - who worked on VW - worked for Sun at Apple on Apple's VM/Lib adaptation. (ie, she came with the license I think). They would know better.

As I remember it, Swing grew out of Netscape's Java Foundation Classes (JFC). I'd have to place most of the blame on Swing squarely on Netscape's shoulders.

As for SWT - the Mac port still sucks - for one thing they targeted the legacy carbon widget set rather than the OS X one. So you can't say that this approach is hands down better - just has different pain points.




I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New The basic facts are wrong
Amy Fowler according to her own web page at Sun [link|http://java.sun.com/people/aim/|http://java.sun.com/people/aim/] started working on the AWT in 1995. This blows away the thesis that she came from the outside and was involved in the AWT. In fact according to this blog [link|http://blog.xesoft.com/page/jon.lipsky/20030221#a_good_read_no_truth|http://blog.xesoft.c...ood_read_no_truth] "Amy has worked at Sun since she graduated from college 14 years ago. The last bit of Smalltalk she wrote was in 1987 in a *college* course." After doing a bit of research on my own, I have also corroborated the fact that Amy Fowler has been at Sun for a long time since the late 80's.The only fact that may be right is that Amy Fowler is good looking.

While the basic facts regarding Amy Fowler are wrong, I do believe that the Swing team looked at VisualWorks and tried to copy that for reasons that I enumerated in a previous post. That they failed miserably is a testament to how bad a language Java is and how good the VisualWorks developers are.
Expand Edited by bluke March 4, 2003, 04:20:37 AM EST
New Native widgets
I used VA Smalltalk for a project in the mid 1990's and the native widgets worked very well. We started developing on OS/2 and then switched to Windows without a problem. We even delivered a version on AIX with no problems. I never used VisualWorks, but I remember in the early 90's one of the main knocks against Smalltalk (VisualWorks) was the fact that it used emulated widgets. The bottom line is that emulated widgets will never be 100% and as the article rightly pointed out why reinvent the wheel?
New Re: Native widgets
I used VA Smalltalk for a project in the mid 1990's and the native widgets worked very well.


This is no big trick. How many platforms does VA support?

Right.

Every platform adds a certain amount of overhead. Squeak uses emulated widgets (OK, they don't emulate anything - they just have their own widgets) and this pays off by making platform integration dead easy - you only have to support graphics blitting, event delivery, file system, and network - port done.

The bummer is that your apps never look like platform apps - this may or may not be an issue. Depends. The OSX VM supports a bridge to ObjectiveC so you can use native widgets if you want - or not. This was easy because ObjectiveC is so close to Smalltalk.




I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New VisualWorks and emulated widgets
I believe that VisualWorks uses emulated widgets for historical reasons. The product started in the late 1980's when windowing systems were just starting and in fact ran on DOS. In that kind of environment it made a huge amount of sense to write their own emulated widgets. Once they started down that path it was hard to change. However, in 1996 there was absolutely no good reason to reinvent the wheel with Swing and write emulated widgets.
New Even more to it -was there in the trenches with howitzer :-)

Microsofts widgets were dated & flawed & had many bugs in the Microsoft *just wouldn't fix) - one very simple example, colored text on a button widget - (MS Sez you can have any color u like az long az it iz BLACK).

Swing was a greatly updated & expanded widget set (to use the same phraseology) but many of the widgets were next to useless on anything but a local very high powered computer. The table widgest in swing were near fatal in their inability to expose data from very large lists.

While at the time I fought vehmently against MS remarks that Swing was bloated (MS told so many lies at the time, that they had zilch credibility with me as a former MSDN member), I later concluded that MS was right - Swing *only* worked for native apps & then it was still poor in some areas. IBM came to the same conclusion & tried to get Sun to be more flexile but failed & that in itself contributed to IBM abandoning Swing.

At about this time my love affair with Sun ended & I concluded it was time to dump all their shares as I was satisfied they had screwed up badly. Sun still have some stuff on one of their web sites that I wrote for them re Java vs Active-X back when I thought the Sun really did shine & went to bat for them again & again.

I wouldn't use Swing today. Prefer the IBM widget set & the WebSphere App Dev Env.

Doug Marker
(Once upong a great day the Sun shone brightly but then that day ended).


Spectres from our past: Beware the future when your children & theirs come after you for what you may have been willing to condone today - dsm 2003


Motivational: For any activity, ask yourself if the person you most want to be would do it - dsm 2003
New Re: Even more to it -was there in the trenches with howitzer
What did you mean by this "I later concluded that MS was right - Swing *only* worked for native apps & then it was still poor in some areas."

What is a native app in this context? I was with Swing from the start, I developed apps using Swing 1.0 in JDK 1.1.6 and up (using com.sun.swing packages). From the start it was dog slow an buggy.

In theory Swing was a good idea, you would get the same set of widgets on every platform, working the same on all platforms. However, in practice, it didn't work, for 2 reasons:
1. Performance, performance, performance. The performance even today sucks
2. Native look and feel support, the Windows L&F has never quite emulated real Windows 100%. In fact, Sun has still not come out with a Windows XP L&F.

My preference would have been a fixed AWT with MVC (e.g. every widget would have a model like with Swing etc.), those widgets not found on any given platform would be emulated. SWT is too simplistic in that respect.
New Re: Even more to it -was there in the trenches with howitzer
My preference would have been a fixed AWT with MVC (e.g. every widget would have a model like with Swing etc.), those widgets not found on any given platform would be emulated. SWT is too simplistic in that respect.

Are you talking about plain SWT or are you including JFace? My understanding is that JFace is the MVC wrapper around SWT.

We are moving to Java development and have done a first proof of concept module using Swing (which is integrated into our PowerBuilder app). It works ok, but I'm wondering if SWT is ready now to replace Swing. What's your opinion?
Regards,
John Urberg
New This is what I understand
I have used Swing extensively, I have only read about SWT and have not used it. JFace is a UI toolkit implemented using SWT that simplifies common UI programming tasks. JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. I don't think that JFace provides the same level of MVC suport that Swing does. [link|http://www-106.ibm.com/developerworks/java/library/os-ecgui1/index.html?dwzone=java|JFace tutorial]
     Sun vs. IBM and the origins of Swing - (bluke) - (11)
         Wow - good posting - (tjsinclair)
         Re: Sun vs. IBM and the origins of Swing - (johnu)
         I don't buy it - (tuberculosis) - (4)
             The basic facts are wrong - (bluke)
             Native widgets - (bluke) - (1)
                 Re: Native widgets - (tuberculosis)
             VisualWorks and emulated widgets - (bluke)
         Even more to it -was there in the trenches with howitzer :-) - (dmarker) - (3)
             Re: Even more to it -was there in the trenches with howitzer - (bluke) - (2)
                 Re: Even more to it -was there in the trenches with howitzer - (johnu) - (1)
                     This is what I understand - (bluke)

Anything that takes 8 minutes to get from 55 to 65 MPH is a good starter vehicle.
62 ms