Roedy Green said:
Again, those are problems with your JVM. A modern generational
garbage collector does not have long pauses.
Swing consumes massive amounts of memory under the (at least) half dozen
JVM's I've used, including the most recent releases for Windows (from Sun),
HP-UX, AIX, and Solaris. I will be happy to eat crow if you can demonstrate
even one JVM that runs a real Swing application that does not immediately
gobble down megabytes of memory in the double digits.
I never said the GC pauses were long. But they are noticeable. For them
to be noticeable at all in GUI applications is dissapointing. The latest
Sun JVM for Windows has a Swing demo program which exhibits periodic and
noticeable GC delays on my developer level hardware which is less than 6
months old.
The not-quite-right emulation of the Windows look & feel is not a problem
that is solveable given the ever-changing nature of the Windows look & feel.
If you're claiming there are JVM's that don't exhibit any of these problems
please point those JVM's out to me.
You are repeatedly confusing problems with the language with problems
with your tools.
Surely you are mistaking me for another poster. I did not repeatedly
claim anything (I only made a single post to which you responded) and
I did not suggest these issues were language problems. Please be more
careful in your responses.
Before you ignite your flamethrower, you should know I use a variety of
Java programs (some of them aren't Swing-based, such as Eclipse, and some
of them ARE Swing-based, such as jEdit) and find them highly usable and
enjoy them a great deal. I'm not a random Java/Swing basher. My response
was aimed squarely at the person to whom I responded who said (paraphrased)
that you "can't tell the difference between a native GUI app and Swing-based
GUI app".
While I like and use Java and Swing-based applications daily, his or her
comment is clearly exaggerated - and dare I say it - sounded like a rather
religious response.
All that being said, I think Sun took the wrong approach with Swing, and
should have attempted to leverage native widgets as much as possible, much
like very successful libraries such as wxWidgets.