In the latest outbreak of an ongoing feud between the two companies, Microsoft called reporters today complaining that Sun's new Java Development Kit 1.1 prevents Java programs from running on Internet Explorer 3.0.
"They are really disenfranchising the largest group of Java users on the planet," said Charles Fitzgerald, a program manager at Microsoft. "Those are Windows users. It's really mind boggling that they would do this."
But Sun officials said the claims are nonsense. "They are blowing smoke," said George Paolini, director of communications at Sun's JavaSoft division. "It's a very aggressive and untrue spin."
Sun acknowledges that a certain group of applications won't run on Explorer, but says it's Microsoft's responsibility to fix it.
Microsoft is one of Sun's most important licensees of Java but easily its most difficult. The two companies have publicly, even bitterly, battled it out over numerous issues, most of them stemming from Sun's contention that Microsoft is trying to lock Java developers into the Windows platform.
Tomorrow, Sun, Netscape Communications, and IBM executives will kick off a campaign in San Francisco to encourage developers to write "100 percent pure" Java programs--that is, programs that run on every platform that Java does.
But today, Sun stands accused of not being so pure itself. Microsoft says Sun deliberately designed its new Java Development Kit to make sure Explorer can't run new Java applets.
At the heart of the dispute is a brand new feature in the new kit released yesterday called the Java Native Interface (JNI). The JNI works with the Java Virtual Machine--the core engine in browers and operating systems that powers Java programs--and allows developers to take advantage of a computer's low-level native resources, such as 3D rendering or number crunching.
The problem is that Microsoft has already written its own native interfaces for its Microsoft Virtual Machine, the Java engine included in Explorer and Windows 95. DimensionX, for example, offers a 3D program called LiquidReality that uses Microsoft's native interface for 3D rendering.
Now, those two sets of native interfaces aren't compatible. This means that applications that use the JNI short-circuit when run on Explorer 3.0.
Sun admits that this is the case. But the company argues that Microsoft is contractually required to incorporate Sun's Java Development Kit, including the JNI, into its own Java products.
And if Microsoft does that, Sun says, then there won't be any incompatability problems; everything will run, including new applications written using JNI and the old stuff written to Microsoft's specifications.