What began as an experiment in consumer electronics in the early 1990s celebrates its 20th anniversary as a staple of enterprise computing this week. Java has become a dominant platform, able to run wherever the Java Virtual Machine is supported, forging ahead despite the rise of rival languages and recent tribulations with security.
Java's road to dominance hinged on a pivot of sorts. The language debuted as an object-oriented programming tool in 1995, emerging from five years of work by Sun Microsystems' Green Team, which included James Gosling and Mike Sheridan, among others. The team was looking to merge information and programming to make Web-surfing more dynamic and to target the convergence of digital consumer devices and computers, both client-side concerns. As such, Java, which was originally known as "Oak," first gained prominence for its client-side applet technology, but later found its long-term groove in evolving toward the server side, thanks to the business aims of its closest supporters Sun, IBM, and Oracle, analyst Jeffrey Hammond of Forrester Research, recalls.
"It turned out write once, run everywhere' was too hard across the fragmentation of all the client-side devices, but it did work reasonably well across the less chaotic, but still segmented server architectures that the various vendors were investing in," Hammond says. "Java's VM turned out to be easier for most devs than writing and porting C code, and [it] had good vendor support."
The state of Java today
Thanks to that early momentum, Java today enjoys 1 billion Java downloads per year and is used on 97 percent of enterprise desktops, according to numbers from Oracle. Indeed, Java development remains a good skill for developers to have, supporting an estimated 9 million Java developers, with Java reigning at or near the top in language popularity indexes such as Tiobe, PyPL, and RedMonk, as well in job openings on the Dice.com site.
"Java is the only other language, besides C and C++, that has survived the test of time over all these years," although it has seen its ups and downs, says Arun Gupta, who was involved in Java development at Sun beginning in 1999 and now focuses on Java middleware as director of developer advocacy at Red Hat. "All the major industries run some form of Java in their mission-critical deployments. Only a technological apocalypse would render Java irrelevant in the future."
These days, Java is under the stewardship of Oracle as a result of its January 2010 acquisition of Sun. The platform went open source in 2006, although not everyone was pleased with Sun's plan of action. IBM, for one, wanted the Apache Software Foundation to take charge of Java.
"The biggest success of Java is the platform, the JVM itself," Gupta says. "It is very robust and supports a wide variety of mainstream languages, from Java, Groovy, Ruby, Scala, Clojure, Python, and many others. All these compile to byte code and run on the JVM."
"[Modularity and Java 9 are] going to be a big deal for Java technically and one that the entire ecosystem has been waiting for a long time to have," says Mike Milinkovich, executive director of the Eclipse Foundation, which originally arose out of an IBM effort to provide Java tooling. "In addition to that, I see Java becoming more and more important as a platform for cloud infrastructure and in the Internet of things."
A lot rides on Java
Over the years, a multitude of critical technologies and businesses have piggybacked on Java. Perhaps none is more critical these days than the Google Android mobile platform, which has leveraged Java via the Dalvik VM and even led to a lawsuit filed by Oracle alleging copyright and patent infringement. Android gives developers with Java skills an outlet in the burgeoning field of mobile application development.
"Java is critical to Eclipse and its community. The vast majority of our 270-plus projects are implemented in Java, including most of our tool, runtime, and IoT technologies," says Eclipse Foundation's Milinkovich.
Other technologies banking on Java have included application servers from BEA Systems and JBoss (acquired respectively by Oracle and Red Hat) and the JetBrains IntelliJ Idea IDE.
"IntelliJ IDE or, more concretely, Renamer was born out of a personal need of the original founders, while working with code, which happened to be Java," Hadi Hariri, developer advocacy lead at JetBrains, says. "In that regard, most likely yes, Java was fundamental."
The open source Spring Framework also has been successful riding the Java wave, competing with Java Enterprise Edition.
Next section: Java's trials and tribulations