Tools: What has Happened to Java?

As if on cue, Java has popped back into the media's consciousness recently. Sun filed suit against Microsoft for, among other things, breach of contract in the dispute over Microsoft's Java license.

As if on cue, Java has popped back into the media's consciousness recently. In a none-too-surprising move, Sun filed suit against Microsoft for, among other things, breach of contract in the dispute over Microsoft's Java license. At issue, claims Sun, is Microsoft's interpretation of what it means to be "compatible" - especially within the context of Sun's 100 Percent Pure Java campaign. Microsoft essentially shrugged and pointed right back at Sun, questioning whether the suit has any legal merit or is merely a marketing stunt intended to temper the swirl of attention surrounding the Internet Explorer 4.0 launch.

On one level, it's always interesting to watch corporate giants spark a public pissing match, especially one so intimately tied to the future of this medium. It's reminiscent of the Apple vs. Microsoft look-and-feel fiasco, or the fairly recent murmurings from America Online and Netscape regarding Microsoft's unfair bundling of its browser and operating system. As industry spectators, we're surely in for an interesting show.

For Web developers and content providers, however, there are much more intriguing issues on the table. This lawsuit, in fact, picks the scab off an issue that has been with us since the first HTML tags were conceived, when the first pages were sent via HTTP, when the first user clicked the first ad banner. The issue is simply this: What does it mean to be universal?

Java was introduced with no small amount of hype a few years ago and made two simple promises: one to developers and one to end users. To developers, Java was the Holy Grail of code writing, since you could write a program once and send it to almost any computer. And for those on the receiving end, it would run safely without security issues. This happened at an interesting time as well, just when the Web took off as a publishing platform, and as media companies began to develop electronic publishing products.

These publishers came largely from traditional stock. Newspaper and magazine publishers started mingling with television broadcasters and the record industry, and they all tried to catch up to the individual geeks who had been adding to their homepages since 1993. One thing they all had in common, however, was being quite comfortable delivering their content through widely accessible media: FM radio signal, NTSC video formats, or good old paper.

So put the two together: a safe, cross-platform programming language with an influx of developers who had never considered the notion of platform. The excitement that surrounded Java was phenomenal, and probably justified. Java became more than just a development tool; it became a very strong brand. But then reality set in.

Java, at its core, is a programming language. It is code. You need to be a geek to write it. Compare the learning curve of computer science to that of a markup language. One takes a four-year degree, the other takes an afternoon with HTML for Dummies. And beyond that, Java simply isn't suited for publishing, or even for the content interfaces we develop on the Web. Java fits in where C++ does: developing applications.

Content providers soon found that a combination of JavaScript and HTML, paired with a strong style language, was a far better solution to electronic publishing. The browser vendors understood this and reacted quickly, developing these technologies to work seamlessly together, and developing an interactive platform for distributing large amounts of text through lightweight interfaces. They called it Dynamic HTML.

So what does this have to do with the Sun vs. Microsoft lawsuit? Look again at Sun's claims that Microsoft is abusing Java's cross-platform benefits and turning it into just another chunk of Windows code. Regardless of the validity of this particular suit, that concern is appropriate.

If the Web has done anything for the computer industry, it has brought about the notion that platforms are, indeed, open. We shouldn't have to care what our audience is using when they stop by our Web site. In that context, the Windows-izing of Java has much less to do with performance, installed bases, and legacy code. And it can be lumped with ActiveX controls, Scriptlets, and every other platform-dependent way of hacking existing technologies into the Web. That's because we're talking about the ubiquity of words and pictures displayed on computer screens, around the world, for everyone. It's what publishing is all about.

This article appeared originally in HotWired.