Celebrating 20 years of juicy Java. Just don’t mention Android
A remarkable past, and a clouded future
Oracle is celebrating 20 years of Java, which was officially announced at the SunWorld conference in San Francisco on May 23 1995. Java 1.0a2 was made available to download. In addition, Netscape’s Marc Andreessen came on stage to announce that Java would be integrated into the Navigator web browser.
The origins of Java go back earlier, of course, to Sun’s secret “Green Project”, led by Patrick Naughton, Mike Sheridan and James Gosling. Gosling created a language called Oak, a processor-independent language for controlling entertainment devices.
Oak was demonstrated on a device called *7 (named for its ability to answer the phone) in summer 1992.
The entertainment device idea did not take off but the team adapted the language, whose name was changed to Java because Oak was already trademarked, to support animations and dynamic content delivered over the internet.
In 1994 they created a web browser based on Mosaic but using Java. The browser was initially called WebRunner and then HotJava.
Java took off rapidly. It met an immediate need on the fast-growing World Wide Web; the language was both powerful and easy to use, and Netscape’s adoption made it mainstream. Sun quickly saw its potential.
“The basic strategy is to license Java to people who have a need for network-centric applications,” said Eric Schmidt, then Sun’s CTO, speaking to journalist Michael Connell in July 1995. "The first and obvious target is the browser world. Nothing in the design of Java limits it to Unix or any other operating system ... It needs to be on all [major] platforms to be successful, and we are going to make sure that happens."
As it turned out, Java did not flourish for long as a browser plug-in, but found huge take up elsewhere. Its cross-platform ability made it ideal for IT vendors such as IBM, Oracle and Sun itself.
It was an obvious choice for enterprise middleware and application servers. At the other end of the scale, Java 2 Micro Edition (J2ME) was widely used for apps on mobile phones. Java is part of the standard for Blu-Ray discs and runs on billions of devices. Sun released Java as open source in 2006.
Speaking in tongues
Java is no longer much used for desktop apps, where its constant security updates, and Oracle’s habit of bundling unrelated software with the runtime download, have made it an annoyance.
On mobile phones, Java was pushed aside by Apple, which uses Objective C and Swift for iOS apps, and although Google chose Java as the primary app development language for Android, it developed its own runtime, called Dalvik, rather than implementing the official Java specification, resulting in a largely unsuccessful lawsuit from Oracle in 2010.
The evolution of the language has also been slow. Project Jigsaw, an effort to modularise the Java platform for greater flexibility, was originally intended for Java 7 in 2011. That was deferred to Java 8 and is now expected to be delivered in the forthcoming Java 9, expected in 2016.
Oracle’s Georges Saab, Vice President of Java Platform Development, told the press that there are good reasons for the delay: “The company [Sun] that was working on it was acquired. On Java 8, we did quite a bit of work which had not been anticipated around improving security. That was more important than bringing new features to market.”
Saab would not comment directly on the Android issue, but remarked that “we take compatibility very seriously and follow the Java Community Process for the development of Java. It’s a process that invites and encourages people from all different companies to take part".
Google has deprecated the NPAPI browser plug-in standard used in Java, which will accelerate the decline in Java usage in the browser.
Is there any solution? Saab said that Oracle is waiting for a properly standardized alternative, but sounded regretful in reference to browser vendors who “have made the decision to stop supporting standard frameworks that are in use throughout the industry".
“On browser, desktop and mobile the folks who make the operating systems for those environments, as well as things like browsers, have an interest in tightening those things down and allowing fewer third-party things to run,” he added.
Android aside, can Java recover its mojo beyond enterprise server applications?
“There remains a substantial interest in doing rich Java clients,” said Saab. “I’m interested in the position that Java can enjoy in Internet of Things. There is a great deal of fragmentation and Java gives people a consistent model and uses the same technology from device to gateway and into the back end in the cloud.”
Java’s future looks cloudy in more ways than one; but it is hard to imagine the last 20 years without it, and despite some hiccups, it has been a unifying force in a fragmented industry. ®
Oracle has posted a Java Timeline here.