Archive of UserLand's first discussion group, started October 5, 1998.

Re: Java vs MS Common Runtime

Author:Paul Snively
Posted:7/26/2000; 12:13:02 PM
Topic:Java vs MS Common Runtime
Msg #:19126 (In response to 19002)
Prev/Next:19125 / 19127

Timothy O'Hear: I guess I'm overly focused on delivering Windows apps with good performance, but to this point that's been our market. I've been reviewing Java regularly for the past couple of years, the last time being a month ago. Even now (on a PIII 600) I still find performance of even simple apps to be fairly sluggish.

Windows apps that want good performance benefit greatly from Microsoft's virtual machine, without question, and since Microsoft was forced to address their previously non-conformant implementation, I have no compunctions about recommending the use of their current platform.

If you need only to target Windows, but still wish to develop in Java, then I recommend using Microsoft's AFC for your GUI, as it will prove to be best integrated with the platform and it performs well. When targeting other platforms, of course, I prefer Swing.

Timothy: Above all where are the (client-side) killer apps written in Java? Why wasn't Napster written in Java, wouldn't that have made perfect sense? Why did Lotus kill e-suite? How can I commit my company to writing Java apps when established companies don't seem to be doing it?

I don't know about Napster, but there's a very nice Gnutella client in Java, called Furi. I have no concrete information as to why some of the major companies have killed their Java-based app efforts. My admittedly off-the-cuff feeling is that a lot of these projects were attempts to mimic the monolithic "integrated systems" approach of yesteryear to software architecture; Java doesn't lend itself well to that approach.

Clearly the garbage collection and threading technology needs to continue to improve; it's embarrassing that there are bytecode-interpreted languages with threading that are an order of magnitude more efficient than Java. The GC needs to become ephemeral and generation-scavenging (note that some 1.2 or 1.3 implementations may be; I'm behind on my GC research in these implementations). Thankfully, the dynamically-optimizing JITs look pretty darned good.

I dunno. I program in Java every day for a living, but I still don't do my recreational programming in Java, and that tells me a lot. Basically, it tells me that programming in Java isn't fun enough, and in my case, that translates pretty directly to "Java still requires me to spend too much time and energy dealing with minutae that have nothing to do with my goals" relative to other languages that I prefer. But I'm not convinced that lack of performance is one of those things it makes me think too much about.


There are responses to this message:


This page was archived on 6/13/2001; 4:55:51 PM.

© Copyright 1998-2001 UserLand Software, Inc.