In a recent online column about microsofts decision not to ship its Java Virtual Machine with Windows XP, I wondered whether we might be moving toward a more modular Windows—a Windows in which Microsoft omits components such as an MP3 encoder or a JVM but permits users and OEMs to fill those gaps to best serve their needs.
Microsofts JVM is now frozen at Version 1.1.4 as a result of Microsofts legal settlement with Sun over Java, so it would make sense for Microsoft to allow its Internet Explorer users to opt for a JVM maker thats not so restricted from incorporating new technology.
Dont expect it to happen any time soon, though.
I talked earlier this month with Tony Goodhew, Microsoft product manager for Java, who told me that it would not be possible to modify Internet Explorer to allow users to choose their own JVM. He also repeated the Microsoft party line that Java is a relatively little-used Web page element, and its use is falling all the time.
Developers may choose to specify that their pages use a JVM other than the default one, but this entails a separate JVM download, and the majority of Java-enabled pages with which Ive come into contact use the default anyway.
The Mozilla Web browser uses the 1.3 version of Suns Java Runtime Environment to support Java, but its Open JVM Integration project is working to enable users to plug in any JVM for use with Mozilla. The Opera Web browser gives users a choice of IBMs or Suns Java implementation, and Konqueror, the browser for the K Desktop Environment, offers users a choice of IBM or Sun for Java as well.
Does having an up-to-date JVM matter? JVM benchmarks dont figure as prominently in the reviews pages of tech publications as they once did, and Microsoft defends its own elderly virtual machine by pointing out that most Java that appears on the Web is written to the 1.1.4 version.
This may be so, but I cant imagine why developers of Java for mainstream consumption would target their applets to a version that the dominant Web platform—Internet Explorer on Windows—does not support.