Remember George Orwell's Animal Farm, in which some animals proclaimed themselves "more equal" than others?
Each Java-supporting platform (Windows 95, Macintosh, and so on) must execute a Java VM built specifically to
run on that platform. Most VMs are provided by different vendors, but they all have one thing in common: they all
provide a base level of function and security as mandated by Sun's Java specification. But Microsoft has recently
announced J/Direct and its
intent to add non-standard, proprietary features to its VM implementations, effectively making some Java VMs
"more equal" than others. The good news is that Java applications will be able to exploit the
native Windows API with ease; the bad news is that those same applications will only be able to run on
Windows platforms. Supporters of J/Direct, as the proprietary feature of Microsoft's Java VM is called,
look forward to its ability to deliver the productivity benefits associated with Java combined with the
power of native Windows calls. After all, customers can't wait until Java catches up to more mature
languages. They need fast, robust solutions, and they need them yesterday.
Detractors, however, see the J/Direct announcement as a move to dilute Java's greatest strength: transparent
cross-platform execution. Why use Java at all if your Java program won't be portable? Why not use C or C++,
established languages known for their speed and rich function? And won't users be confused when some Java
applets will run on their (non-Windows) machines and some won't?
The 100% Pure Java initiative was begun to address this
issue. This initiative provides developers with the tools and information they need to make their products 100%
Java-compliant. Via a special logo, it also provides consumers -- who, in this case, may be other
developers -- assurance that the Java software they're considering purchasing and using will run
consistently on any platform.
Only time will tell whether Java is compelling enough to flourish without its unique differentiator, as Microsoft is
betting, or whether non-cross-platform Java will prove to be as attractive in the marketplace
as "diet" soda that contains more calories than the real thing.