Through no fault of its own, the Java programming language, when it was first developed, failed to reach its intended goal. Sun Microsystems, then a leading maker of workstations, had in mind a language that would be adopted by cable companies for interactive TV. In 1991, however, the cable companies were not quite ready for what Sun had in mind.
Despite that troubled start, Java did not just go away. In fact, it grew remarkably. According to Oracle, the company that bought Sun in 2010, Java runs on 1.1 billion desktops and 3 billion mobile phones today. Every Blu-ray player runs Java. It’s everywhere, even on the kind of set-top boxes it had first set its sights on long ago.
To get there, however, Sun had to revise its approach, and it chose to focus on the desktop environment, on CD-ROMs and, in a prescient move, on the online environment. In 1994, the Java project, still called by its original name, Oak, developed WebRunner, a browser that was the first to support dynamic executable content and moving objects.
Java 1.0 was released in 1995, when “only” 16 million people were using the Web. Web browsers were a new frontier, and Java was incorporated into the decade’s most popular browser, the innovative and influential Netscape Navigator. As Internet use exploded over the ensuing years, the use of Java exploded as well, and Java was firmly entrenched everywhere by the time Netscape disappeared around the turn of this century.
In 1999, with Java 2, Sun introduced several varieties of the language, each tailored to a different platform, including the Standard Edition for desktops, the Enterprise Edition for server systems and the Micro Edition for consumer devices. Regardless of the branching of the Java family tree, one of the original appeals of the language was the “Write once, run anywhere” (WORE) capability that had been part of its original aim.
With WORE, Java was meant to be a language that was platform agnostic. Ideally, this would allow a programmer to write code that would run anywhere, on a PC, a cell phone, a server or a router, regardless of the operating system in use. All it required was the installation of a Java interpreter or virtual machine (JVM). Even with a JVM, however, the endless combinations of operating system and specific JVM implementation meant that things did not always run perfectly. WORE was sometimes replaced with WODE: Write once, debug everywhere.
Still, Java’s WORE approach and its ability to run within a browser spurred its popularity. The fact that it could also be used in server-side applications made it important to Web functionality, since it could be used to manage forums, process forms and run online stores of every description.
Java may not always perform perfectly in every environment, but its portability is a huge asset. Java bytecode does the job that would ordinarily be performed with code specific to the machine on which the code was written. As long as the end user has the Java Runtime Environment, the code should run as a standalone application. In the alternative, Java applets run in Web browsers, and the applet will function within the browser even if the JRE is not installed in the machine.
Finally, Java itself is highly versatile. It allows programmers to combine services and applications, so developers can achieve customized results that would not be possible without that versatility.
Three years before it was acquired by Oracle, Sun made Java open source, available to one and all under the GNU General Public License. Oracle later described itself as “the steward of Java technology,” and CEO Larry Ellison has reaffirmed the company’s commitment to the platform. “Oracle’s middleware is 100 percent based on Java,” he said. According to Oracle, there are now 9 million Java developers worldwide, one sign that the language will in wide use for the foreseeable future.
Find out about Java programming training!