Internal Java memo is right

[There are people saying that the internal memo is a hoax.  It doesn't matter if it is a hoax or not.  Its messages are still true: Sun needs to fix Java now or let IBM do it for them.]

An internal memo supposedly written by Julian S. Taylor titled "The Java Problem" is absolutely right on.  While it focuses on Solaris version of Java, it is also true for Win32 version.

1. The support model seems flawed

Java packages are released (re-released) every four or five months, introducing bug fixes and new features and new bugs with each release. These releases are upgrading packages which remove all trace of the prior installed packages and cannot be down-graded in the event of an error.

Each version of Java takes a long time to download and install so users will be hesitant to get the latest version unless they run into a situation that compells them to get a later version.  This problem is not limited to Sun.  Software industry as a whole must learn that upgrade doesn't mean wholesale replacement of old version with new.  It means ability to add and replace components safely (read undo).

2. The JRE is very large.
The JRE is significantly larger than comparable runtime environments when considering resident set size (memory dedicated to this specific program). It has been seen to grow to as much as 900M. This has a drastic effect on both performance and resource usage. It also means that multiple JREs present critical resource constraints on the servers for such thin-client systems as SunRays. Typical resident set requirements for Java2 programs include:

Hello World 9M
SMC Server 38M
SLVM GUI 60M
Component Manager 160M
TogetherJ 300 – 900M

When it comes to memory consumption, only one word can describe Java: disgusting.  While Java is not as bad on Win32, it still is bad enough to make me think twice about writing applications and utilities in Java.  Java is the king of open source languages because people will not pay for memory hogs with slow motion UI.