Let me start by saying that I'm not a Java advocate, not even a Java 
programmer (that doesn't mean I've never written an Java code, just that 
I don't consider myself 'hardcore' Java), and that I consider C++ to be 
superior to Java for desktop development. That being said, I don't agree 
with (most of) your points below (any more); they were true a couple of 
years ago but are not any more (either in the standard library or with 
replacement libraries).

Ehsan Akhgari wrote:
> The reasons why I put it aside were:
> 1.  It was *slow*.  It was so slow to even start the app that made it
> irritating even for usual testing, let alone for using it for real 
> jobs.  It could've been me doing something silly, but I don't think so,
since it took
> about at least 5 seconds to start a hello world app (I'm not exaggerating.
> Five real seconds for starting a hello world app!)  And if I tried a GUI 
> app with all the bells and whistles, a startup delay of between 10 and 20
> seconds was quite expected.

This is not true any more with modern VMs. See eg ArgoUML 
(http://argouml.tigris.org/). This is a much-debated point of course so 
I won't waste any more time on it; try it again on a fairly modern 
machine with a modern VM and it'll be much better.

> 2.  The apps looked so dumb.  OK, I don't want to talk about its purple
and
> gray color theme, but at least its layout design which did not give the
> pixel level control I enjoyed in other languages I used back then (VB)
made
> me crazy.

First, I don't know if you used AWT or Swing, but either way, they suck. 
Try SWT; an IBM-developed library that uses native gui elements on 
different platforms. Less portable than AWT and Swing, but lots and lots 
faster. See it in action eg on Eclipse (www.eclipse.org).
Second, what you call 'pixel-level control' is imo THE big deficiency in 
win32: lack of support for layout-managers. Getting resizing windows 
right is a PITA on Windows with lots of pixel calculations. Like Jason 
said, it's near impossible to get translated interfaces right without 
having different dialogs for different languages, and how often have you 
seen applications that can't handle Windows' 'large font size' correctly 
because their entry boxes and statics are too small? I see them every 
day and it's not pretty :( Layout managers help you get rid of all these 
problems at once. Gtk uses them as well by the way, and unlike Java, you 
cannot choose not to use them - it's the only way. But the good thing is 
that anything can be a container, even eg a button. So no more separate 
classes for buttons with images on them (I mean, that's SO basic) or 
separate tutorials on how to get a dropdown in a toolbar (toolbars are 
an abomination in win32 when you come from gtk).
The primitive way of positioning every control manually like in vb is ok 
for fixed dialogs that are on only one language - I'll admit that 
they're easy to write but once you understand the full power of layout 
managers you'll never want to go back. I'll also admit that the Java 
layout managers aren't great but you shouldn't use that to dismiss all 
layout managers and go back to pixelpushing. All IMO, of course ;)

> Things have changed since then, probably.  For example, it's the first
time
> I head about LAF.  But I still have a very bad history of Java in mind,
and
> yet, on the rare occasions that I see a web page with a Java applet in it,
> and I have a JVM installed, I see that at least the sluggish speed has
been
> happily inherited with the new versions.

But you cannot compare Java application with applets. They're in 
different leagues.

> Also, for my current app, the fact that a huge runtime must be downloaded
> and installed before the app is a bad point, since today, Windows XP and
> Linux neither come with a JVM installed, the former to smash out Sun, and
> the latter because Sun's JVM is not free.  Some distro's ship other free
> JVM's, and some even ship Sun's on the CDs, but yet it's not something we
> can count on.

True. I think this is the main reason why the few Java applications that 
have had any success on the desktop will go the way of the dodo.

> Please correct me if I'm wrong.  Especially, if you have a Java app which
> uses LAF to get a native look and feel, and is not so slow (and is small
> enough), I'd be happy if you could mail it to me off-list, so that I can
> have a look.

I don't know about LAF, but for SWT, start here: 
http://www-106.ibm.com/developerworks/library/j-nativegui/

Oh, and btw, the gcc compiler can compile Java into native code 
nowadays, see http://gcc.gnu.org/java/. There are Java bindings for 
Gnome even. AWT and Swing are still in development though so it may not 
be a great solution. Check http://gcc.gnu.org/java/ to see for yourself.


cheers,

roel


_______________________________________________
msvc mailing list
[EMAIL PROTECTED]
See http://beginthread.com/mailman/listinfo/msvc_beginthread.com for subscription 
changes, and list archive.

Reply via email to