Stop the presses! Clear the rain forests! The Merlin books are coming! The Merlin books are coming! This thing is huge and the books will keep getting bigger. Forget about thin clients. The runtime class libraries alone have jumped from 13.5MB in the 1.3 release to 22MB with the new version. Looking back to the Fall of '95, the entire Java 1.0 download was less than 4MB, about one-third the size of the library additions, and the 4MB also included the compiler and source code. Alone, the version 1.0 libraries were just 1.4MB. Boy, have the Sun engineers in Santa Clara and around the globe been busy.
The documentation that comes with the beta 2 release includes a partial listing of the 400-plus bugs closed. Only those bug reports with at least one vote in the Bug Parade at the Java Developer Connection are listed. Apparently some things were important enough to fix, even without the votes, but not important enough to list. I don't get it. I hope by the time 1.4 goes final, we'll be able to see a list of all bugs closed. Please...
What I find most interesting is how long the listed bugs have remained open. With Sun's release cycle between versions now at about 18 months, anything older than that falls back on problems or enhancements requested against older versions. While the reports don't list the date fixed, you can think the bug reports aren't really closed until 1.4 becomes final, so these numbers will actually increase a little.
What is that average? When I calculated the numbers on September 24, it was 767 days, or over 8 months prior to when version 1.3 was released. If you calculated a weighted average against the number of votes, the average gets closer to 1,000, at 970 days.
For the curious, the most voted for enhancements added and bugs fixed are assertions, a fix of NT services hanging when users log out, and a speedup of remote double buffering. On the age side, the oldest enhancement request was open for 1,800 days (almost 5 years). The oldest bug was open for a little over 1,700 days.
When I previously commented about the long delay to fix bugs (and add enhancements) in an IBM developerWorks article (www106.ibm.com/developerworks/java/library/j-mer0717), a Sun engineer wrote, "Our enhancements have always been based on developer demand and community pressure." While I tend to demand a great deal, I've always thought Sun (and the JCP community) was more interested in filling out what was missing from the Java platform than in fixing up what was already there, even if what was there was incomplete. With Merlin, it seems like they're finally going back and fixing or filling in many of the little things that have been driving us nuts. For that I say thanks.
If you haven't moved to 1.3 yet, should you just skip ahead to 1.4? I'd have to say a definite yes to that. It's still too early to see what the memory footprint requirements will be, but as far as features go, the 1.4 release seems to have it all. Of course, there will be more new capabilities added for the Tiger (1.5) release, so don't think that Sun is through just yet. Let's hope they don't add too many new bugs in the process. I haven't logged nearly as many new bugs with the 1.4 release as I did with the earlier versions during their beta cycles. Let's take that as a sign that the software is improving prior to the beta release.
One final thing worth mentioning is the latest Java plug-in version that Sun is trying for the 1.3 release. An HTML converter is no longer necessary. The <APPLET> tag will work with an updated JVM within browsers. This is great news for those users confused about Java support with Windows XP and IE6.
John Zukowski conducts strategic Java consulting with JZ Ventures, Inc. His latest books are Java Collections and Definitive Guide to Swing for Java 2 (2nd edition) from Apress, with two books due out in early 2002: Learn Java with JBuilder 6 (Apress) and Mastering Java 2, JDK 1.4 (Sybex).