CNET también está disponible en español.

Ir a español

Don't show this again

HolidayBuyer's Guide
Tech Industry

Java outpaces browsers

Maybe Sun Microsystems should revise its Java slogan to read "write once, run almost anywhere."

Maybe Sun Microsystems (SUNW) should revise its Java slogan to read "write once, run almost anywhere."

The company last week released the Java Development Kit (JDK) 1.1, the basic tool set for building Java applications. Developers say it adds a number of useful features for creating new kinds of Java programs. But they also say that the new Java applications created with the kit won't necessarily run on the millions of Java-capable browsers already out there. And that's making some of them nervous about using it.

The new kit includes a handful of changes that will affect the "backward compatibility" of certain Java applications. It turns out that some of the new applets created with the kit won't run on existing Java Virtual Machines--the engine in the browser that reads Java--and that means they won't run on the Navigator and Internet Explorer 3.0 browsers already in use.

Licensees of Sun's Java technology, such as Microsoft, Netscape Communications, and Symantec, will eventually update their browsers and development tools to support the new kit. Once users upgrade to those new browsers--such as Netscape's Communicator--all will be fine again.

But some developers are worried that that process could take months and in the meantime, the number of people with the new browsers will be too small to justify developing new applets just for them.

"I wouldn't think anybody in their right mind would write a JDK 1.1 application," said Patrick Naughton, vice president of technology at Starwave, which publishes Web sites such as ESPNet SportsZone. "I'm not even going to look at it. Why would anyone do that?"

This is a classic chicken-and-egg problem, the kind application developers deal with all the time, but it's the first time Java developers have been confronted with it. And some developers are concerned that Internet development is outpacing the ability of users to keep up with the changes.

"The longer it takes for browser manufacturers to support the new spec, the longer developers can't use the new features," said Karl Jacob, CEO of Dimension X. "Here's where we run into a problem with Internet time. Your user base is constantly in flux."

Neither has Sun been totally consistent in its explanation of this problem.

Last week the company said that only one aspect of the new kit, the Java Native Interface, was not backward compatible. Today the company admitted that a significant number of new features in the kit will not work on existing Java Virtual Machines.

Specifically, the list of problematic enhancements includes the new abstract windowing toolkit, security, JavaBeans, and a new methord for storing Java programs. The JavaSoft division of Sun provides more information on the new features on its Web site.

Sun and some of its Java partners argue that Sun can't possibly be expected to always provide backwards compatability, any more than Microsoft could have ensured that Windows 95 applications would run on Windows 3.1.

"It's sort of like saying can I get a '96 Ford truck engine in my '82 pickup truck," said Jeff Treuhaft, director of security platform and tools at Netscape.

Not surprisingly, Netscape today pledged to support the new kit in the next beta release of its Communicator browser, due out in by the end of April. Microsoft will also support the new kit, but probably not until the final version of Internet Explorer 4.0 ships sometime in the summer.

There is one group of Java developers that doesn't care about all this: those who bundle their own Java Virtual Machine with their programs. Because they're not dependent on the browser vendors to upgrade, they can take care of the compatability question themselves.

"We're in a unique position because our software doesn't run in browsers," said Arthur Van Hoff, chief technology officer at Marimba. "We have ported all our code to JDK 1.1. We have a very easy upgrade path."