Fog Creek Software
Discussion Board




Runtime blues... Java all over again

Put aside for a moment that up to the appearance of SWT, Java had a horrible looking GUI.  Yes I'm speaking of AWT and Swing. But never mind that.

One of the biggest issues with distributing Java based front-end, clients and user-applications has been... The runtime.

While Sun does allow what Microsoft does not, by use of 3rd party tools (static-linking-like functionality), and while the JRE (Java Runtime Environment) is available as an easily accessible separate download (no need to patch & update, rinse and repeat), still-- runtime availability and version hell has stammered the use of Java for stand-alone client applications for as long as Java has been around.

Add to the mix Microsoft's efforts to put a cog in the Java wheel and placing an incompatible JRE with every installation of Internet Explorer 5.x, until stopped by court, and you see the problem.

The first ever Java client application that I actually use on a daily basis, is Azureus, a bit-torrent client with incredible features and a slick UI (SWT-based, naturally). The client itself, with all non-JRE dependencies is a mere 2.6mb. Add to it the JRE's heft and you get...

...A pain in the neck.

Tal Rotbart
Thursday, January 29, 2004

I have an SDK that uses some Java tools.  The SDK installs some older version of the JRE.  However, you can't use a most recent version of the JRE because these tools, for whatever reason, are not compatible with them.

Give me static linking anyday over that...

Almost Anonymous
Thursday, January 29, 2004

I have never understood this objection.  The license (on Windows) says you're free to redistribute Java's interpreter for the purpose of making your app run free of dependencies.  In fact, some licenses say you can strip down to a barebones version.  You can get it down to 5-9 MB.

Am I living in some bizzarro world and missing something?  I hear this objection so often that either Sun really fucked up the communication or I'm hallucinating.  Even if I'm wrong I'd feel much better if I got hit by the cluestick.

Possible minuses:
- legal
I haven't run this through a lawyer yet; it lost priority.  But the Supplemental License is clear.

- technical
You don't get systemwide security settings, but no one uses them for desktop rich clients.  And java probably doesn't have any other important hooks into mswindows.  Those could be finessed anyway through native code.

- mac
Messy.  Apparently you can request version needed through some api, but I haven't used it yet and don't trust Apple would let you run an old version 'til the end of time.

- applets
Don't use 'em.  And Web Start is too obstrusive.

Tayssir John Gabbour
Thursday, January 29, 2004

Couldn't understand why someone using a a bit-torrent client would complain about downloading JRE that is a <10MB download from a very fast web site...

id
Thursday, January 29, 2004

*  Recent Topics

*  Fog Creek Home