Sun Microsystems Introduces Java

In 1995, Sun Microsystems announced the development of the object-oriented Java programming language and its incorporation into the popular Web browser Netscape Navigator. Released on January 23, 1996, Java allowed the convergence of digitally controlled consumer devices and computers.


Summary of Event

Sun Microsystems was founded in 1982 by Stanford graduate students Andy Bechtolsheim, Vinod Khosla, and Bill Joy, who named the company using the initials of their communications project: Stanford University Network. The company established a name for innovation, and in 1992, Sun Microsystems introduced the concept of the Java platform and the accompanying programming language. The Java platform was designed to create programs that could run on a number of devices, from personal computers to cell phones. The slogan was Write Once, Run Anywhere. Sun Microsystems
Java programming language
Computers;Java programming language
Computing, applied;Java programming language
Netscape Navigator
[kw]Sun Microsystems Introduces Java (May 23, 1995)
[kw]Java, Sun Microsystems Introduces (May 23, 1995)
Sun Microsystems
Java programming language
Computers;Java programming language
Computing, applied;Java programming language
Netscape Navigator
[g]North America;May 23, 1995: Sun Microsystems Introduces Java[09210]
[g]United States;May 23, 1995: Sun Microsystems Introduces Java[09210]
[c]Communications and media;May 23, 1995: Sun Microsystems Introduces Java[09210]
[c]Computers and computer science;May 23, 1995: Sun Microsystems Introduces Java[09210]
[c]Science and technology;May 23, 1995: Sun Microsystems Introduces Java[09210]
Gosling, James
Naughton, Patrick
Sheridan, Mike
Bechtolsheim, Andy
Joy, Bill
Khosla, Vinod
McNealy, Scott
Gage, John

The project was started in June, 1991, by James Gosling, who gave it the name “Oak,” in honor of the tree that stood outside the door of the Sun Microsystems office. Oak, which soon involved programmers Patrick Naughton and Mike Sheridan, became known as the Green Project as it swelled to a team of thirteen people. The team had been chartered by Sun to anticipate the next wave in computing, which they concluded was the convergence of digitally controlled consumer devices and computers.

Gosling intended to create a virtual machine and an operating language that would use the familiar C/C++ notation that programmers were accustomed to and allow programmers to target any device or platform, whether personal computer or consumer device. Goals for the language included the following: It should employ an object-oriented programming methodology; it should allow the same program to be executed on different platforms; it should support using computer networks; it should be able to execute code from remote sources securely; and it should be easy to use, employing the best of other programming languages.

The first demo employed an interactive, hand-held home entertainment device controller with a touch screen to serve as user interface. The Java technology mascot, Duke, waved at the user and did cartwheels across the screen. The device was called StarSeven (;7)—named for a telephone feature that allowed a team member to answer a phone from any extension in the office. The demo featured an “agent,” a software entity that performed tasks as directed by the user.

As others in the company saw the potential of the new project, the team grew and became known as FirstPerson. While the team was trying to enter the television and video-on-demand markets, they suffered from being several years ahead of their time: The other industries, still trying to figure out their business models, failed to realize the opportunity that the technology offered. A group from FirstPerson realized that perhaps the Internet, which was becoming an increasingly popular way to convey media content to users, might be the right industry for their platform. The team created a Java-technology-based clone of the Web browser Mosaic that they named WebRunner (in tribute to the 1982 film Blade Runner). The unique application would eventually become the HotJava browser, allowing browsers to hold animated, moving objects and dynamic, executable content.

WebRunner was made available over the Internet to beta testers. Soon after, the team released the Java source code on the Internet, available for anyone to download. 1Downloads surged into the thousands as word of it spread across the computing world. When it was announced that the Java team would partner with Netscape Communications Corporation, maker of Netscape Navigator, the Java language became established as a leader in object-oriented languages aimed at programming for the Internet.

The Java platform is the name for a bundle of related programs that allow Java programs to be developed and to run. The platform is not specific to any one processor or operating system—rather, it is an execution engine called the Java Virtual Machine (JVM), packaged with a compiler and set of libraries implemented for a variety of hardware and operating systems. Initially, the Java platform was promoted as a platform for client-side applets(small programs) running inside Web browsers, but coming at a time of rising security concerns, this approach never became popular. The platform has been significantly more successful for server-side programs, running on main computers rather than on the machines of individual users.

The Java programming language, which was created specifically for the project, borrowed many of the features from the programming language C++, which had become the industry standard, while removing many of the older language’s more arcane and difficult concepts, such as memory pointers and overloading operators. Java includes a massive class library that provides extensive functionality for its programmers, including file IO, GUIs, encryption, and so on. For Java-language programs to run on a variety of devices, the programs are compiled to bytecode, which can be executed by any JVM. JavaScript, a low-level scripting language, is sometimes mistaken for Java because of similarities of name and syntax, but the two are not directly related.

In the second version, Sun released multiple configurations built for different platform types. Java 2 Platform, Enterprise Edition (J2EE), for example, was designed for large enterprise applications. Sun’s license for Java insisted that all implementations be compatible—wording that would lead Sun to file a complaint against Microsoft in 1997 for distributing a version of Java that was incompatible with Sun’s.



Significance

The Java language was one of the first object-oriented languages designed to enable developers to produce flexible but scalable applications. It rapidly became one of the world’s most popular programming languages. At the same time, the idea of the “virtual machine” introduced by Java would serve as a design metaphor for other programming languages, including Microsoft’s C#.

The use of bytecode as an intermediate language permits Java programs to run on any platform for which a virtual machine is available. Using a JIT (just-in-time) compiler means that after a short loading delay, most Java programs run with a speed indistinguishable from native programs. For programmers, not having to know the intricacies of a particular platform they are designing for, particularly if it is one very different from the one for which they usually program, is a valuable source of productivity.

Most important, the introduction of the concept of the Java platform and its ability to run programs not just on personal computers but on a variety of devices signaled a growing acceptance and acknowledgment of the importance of the Internet to the world at large and its growing importance not only for computers but also for user devices. Sun Microsystems
Java programming language
Computers;Java programming language
Computing, applied;Java programming language
Netscape Navigator



Further Reading

  • Eckel, Bruce. Thinking in Java. 4th ed. New York: Prentice Hall, 2006. Computer programming classic provides a thorough overview of the basic concepts of the language.
  • Lindsey, Clark S. JavaTech: An Introduction to Scientific and Technical Computing. New York: Cambridge University Press, 2005. Practical introduction to the Java programming language that discusses how Java interacts with hardware.
  • Spolsky, Joel. Joel on Software. New York: Apress, 2004. These essays, selected from the author’s Web site, discuss a variety of topics related to software programming.
  • Sun Microsystems. Hello World(s): From Code to Culture, a Ten Year Celebration of Java Technology. New York: Prentice Hall, 2005. The history of Java is discussed in this volume produced to mark the ten-year anniversary of the language.
  • Watt, David, and Deryck Brown. Programming Language Processors in Java: Compilers and Interpreters. New York: Prentice Hall, 2000. Shows how to write a compiler in pure Java and points out useful Java programming techniques.


IBM and Apple Agree to Make Compatible Computers

Release of Netscape Navigator 1.0

Rise of the Internet and the World Wide Web

United States Sues Microsoft

Google Is Founded