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.
