Users and corporate developers this week expressed a mix of reactions - from alarm to knowing shrugs - in recognition that cross-platform Java may be compromised if Microsoft persists in its refusal to support Sun Microsystems' Java Foundation Classes.
While some observers say they understand Microsoft's desire to protect its interests, most who spoke with Computerworld disapproved of Microsoft's bid to throw a roadblock at Java.
"Most information technology professionals view Java as a way to finally get applications to work together on different platforms," says Darrell Jordan.
"As a Java programmer, I am being forced to make choices and will have to do more work because Microsoft refuses to ship [Java Foundation Classes] on [Internet Explorer] or Windows," complains Charles Kerr, a programmer/analyst at OAO Corp. in Oklahoma City. "They could bundle the [graphical user interface] components in over lunch, because they're written in straight Java."
Like the Tyrannosaurus rex protecting its turf in The Lost World: Jurassic Park, Microsoft executives raised their guard against the perceived threat posed by Sun's Java Foundation Classes (JFC). Microsoft views the libraries of reusable code as a competing operating system that will bloat Windows.
But Sun and cross-platform Java devotees dispute those operating systems claims. The class libraries are no more than 1.5M bytes, Sun officials said. By contrast, Windows 95's recommended memory requirement is 16M bytes. The JFCs are merely an "interface layer to the operating system," says Jon Kannegaard, a vice president at Sun's JavaSoft division.
"It would have to be a tremendous amount of classes to get it to a level of functionality that is anywhere near that of an operating system," says Patrick Connolly, vice president of the Investors Edge business group at Neural Applications Corp. Connolly's unit uses software that analyses stock market data.
Kannegaard says he was surprised by Microsoft's hard-line stance given that JavaSoft executives recently met with Microsoft officials to discuss contractual issues.
Many developers see the merit in Microsoft's worries and its mother-hen reaction.
But they say they are afraid the software giant will slow down and perhaps even kill Java's progress as a cross-platform language.
"The real meaning of this is that Microsoft doesn't really stand behind Java," says Motti Goldberg, chief architect at U.S. West, which plans to deploy cross-platform Java applications in the future. "There were always questions of how much of Microsoft's acceptance of Java was for real."
Goldberg says modern languages all come with class libraries, which in the case of the JFCs, can be used to build components such as tool bars and buttons or to access services such as drag-and-drop and keyboard navigation capabilities.
Microsoft senior executives have launched an offensive against the Java class libraries, claiming they aren't legally required to ship the class libraries with their Internet Explorer browser.
Charging that Java really doesn't run cross-platform, they say the "Java language" should be distinguished from Java "class libraries" that ship with the virtual machine.
"Sun officials have been predicting that Microsoft will ship JFC someday. I assign this exactly the same probability as Sun shipping Windows NT," says Cornelius Willis, Microsoft's director of platform marketing.
Microsoft offers its own Application Foundation Classes as an alternative to the JFCs and tells developers to use J/Direct to gain access to Windows application programming interfaces (API) without using Java APIs.
But developers such as Dave Moffat at SAS Institute, have been waiting for the JFCs to write user interfaces for applications. SAS chose Java for its cross-platform promise, he says.
If Microsoft doesn't ship the JFCs, Moffat says, he will have to write one version of the applications for Windows and another for Macintosh, Unix and other operating systems. "Or I have to make [the application] sit there while it downloads," he says.
Moffat says he thinks Java's cross-platform problems are being ironed out. "This is just part of Microsoft's disinformation strategy, and they're trying to make it a self-fulfilling prophecy," he says.
But some users say Microsoft is right to optimise Java for Windows because it is the predominant platform.
"It's killing Java as a cross-platform operating system, but it's good for Java as a language," says Scot Wingo, co-founder of Stingray Software in Morrisville, North Carolina.
"Microsoft is simply trying to position itself better," says William Stewart, co-webmaster at the Chicago Board of Trade. "If Microsoft has better ideas, they should use them. Who says Sun has all the answers?"