The two faces of Java

Still need proof that there are now two implementations of Java competing for the hearts and minds of developers? Sun Microsystems doesn't.

Mike Ricciuti Staff writer, CNET News
Mike Ricciuti joined CNET in 1996. He is now CNET News' Boston-based executive editor and east coast bureau chief, serving as department editor for business technology and software covered by CNET News, Reviews, and Download.com. E-mail Mike.
Mike Ricciuti
3 min read
Still need proof that there are now two implementations of Java competing for the hearts and minds of developers? Sun Microsystems doesn't.

Today at fall Internet World '97 in New York City, Sun Microsystems (SUNW) said it is shipping a tool called Activator. The tool is an ActiveX component in large part intended to get around modifications made by Microsoft (MSFT) to its implementation of Java included with its Internet Explorer 4.0 Web browser (see related story).

Meanwhile, across town, Microsoft was busy courting Java developers, telling them that it has the best Java technology for squeezing better performance out of Java applications that ride atop its Windows operating system, found on the vast majority of personal computers worldwide.

Jon Kannegaard, vice president of products for Sun's JavaSoft business unit, said the Activator software enables programmers to overcome any incompatibilities between its "100 percent pure" Java standard and Microsoft's implementation.

"What this means for an application developer is that he no longer worries about [differences in] Microsoft Explorer," Kannegaard said. "Developers can write the application to the most up-to-date [version of] Java," Kannegaard said, obviously referring to Sun's implementation.

Ted Shadler, an analyst with Forrester Research, said with Activator, Sun is "throwing the towel in a bit" and realizing the desktop is a Windows-controlled world. "Sun is making it easy to adhere to its mantra of write once, run anywhere. If you ever believed it, this makes it easier to adhere to that. That's a good thing," he said.

"But, it also sounds like Sun is conceding that Windows is here to stay, so we're supplying technology to make Java run on it. It's like they are not going to wait for the courts to decide. They're going to throw in the towel and make sure their version of Java runs on Windows," Shadler said.

Lest any developers are still thinking about ditching Windows for a Java-based thin-client setup, Microsoft today posted what it says is the quick and easy way to write Java applications for Windows 95 and NT. The company announced a free kit called J/Direct JumpStart, a package of sample code and tutorials intended to simplify development of Windows applications written in Java. J/Direct, announced earlier this year, gives Java developers direct access to Microsoft's Win32 application programming interface.

Microsoft said that developers using J/Direct JumpStart, and its Visual J++ Java development tool can write applications in Java while still maintaining access to familiar Windows functions for supporting graphics, peripheral devices, and other resources.

J/Direct allows Java developers to call the entire Win32 API, or any dynamic link library, directly instead of having to use Java middleware APIs, Microsoft said.

Analysts said that while Sun had the early edge in Java mindshare among developers, Microsoft is now coming on strong, due mostly to shortcomings in the Java language that make it difficult to build the "write once, run anywhere" applications that Sun has long promised. Tools like Activator are intended to mitigate some of the cross-platform trouble.

The big difference, said observers, is that Microsoft is delivering tools that make Java development relatively simple for programmers who already know Windows--and that's a sizable percentage of the market.

"Microsoft's making Java development easier and easier on Windows," Shadler said. "That's good for developers."

The announcements from both Sun and Microsoft may do much to clear up any confusion over where the companies stand on Java client development. But overall, analysts still recommend that corporate developers stay away from Java client applications unless the application runs within the confines of corporate firewalls, where developers have more complete control.

For extranet and other external applications, where developers can't control the client software that users run, analysts suggest that IS developers stick to Java on the server.

For client-side animation and customization, use dynamic HTML, Shadler said. "We tell our customers to write software that doesn?t care what browser it is running. Only in applications where you have control over both ends of the wire should you use special technology like Java client software and push."

Reuters contributed to this story.