Back Forum Reply New

A Short History of Java

A Short History of Java

This section gives a short history of Java’s evolution. It is based on various published
sources (most important, on an interview with Java’s creators in the July 1995 issue of
SunWorld’s on-line magazine).

Java goes back to 1991, when a group of Sun engineers, led by Patrick Naughton and
Sun Fellow (and all-around computer wizard) James Gosling, wanted to design a small
computer language that could be used for consumer devices like cable TV switchboxes.
Because these devices do not have a lot of power or memory, the language had to be
small and generate very tight code. Also, because different manufacturers may choose
different central processing units (CPUs), it was important that the language not be tied
to any single architecture. The project was code-named “Green.”
The requirements for small, tight, and platform-neutral code led the team to resurrect
the model that some Pascal implementations tried in the early days of PCs. Niklaus
Wirth, the inventor of Pascal, had pioneered the design of a portable language that generated
intermediate code for a hypothetical machine. (These are often called virtual
machines—hence, the Java virtual machine or JVM.) This intermediate code could then
be used on any machine that had the correct interpreter. The Green project engineers
used a virtual machine as well, so this solved their main problem.
The Sun people, however, come from a UNIX background, so they based their language
on C++ rather than Pascal. In particular, they made the language object oriented rather
than procedure oriented. But, as Gosling says in the interview, “All along, the language
was a tool, not the end.” Gosling decided to call his language “Oak” (presumably
because he liked the look of an oak tree that was right outside his window at Sun). The
people at Sun later realized that Oak was the name of an existing computer language, so
they changed the name to Java. This turned out to be an inspired choice.
In 1992, the Green project delivered its first product, called “*7.” It was an extremely
intelligent remote control. (It had the power of a SPARCstation in a box that was 6
inches by 4 inches by 4 inches.) Unfortunately, no one was interested in producing this
at Sun, and the Green people had to find other ways to market their technology. However,
none of the standard consumer electronics companies were interested. The group
then bid on a project to design a cable TV box that could deal with new cable services
such as video on demand. They did not get the contract. (Amusingly, the company that
did was led by the same Jim Clark who started Netscape—a company that did much to
make Java successful.)
The Green project (with a new name of “First Person, Inc.”) spent all of 1993 and half of
1994 looking for people to buy its technology—no one was found. (Patrick Naughton,
one of the founders of the group and the person who ended up doing most of the marketing,
claims to have accumulated 300,000 air miles in trying to sell the technology.)
First Person was dissolved in 1994.
While all of this was going on at Sun, the World Wide Web part of the Internet was
growing bigger and bigger. The key to the Web is the browser that translates the
hypertext page to the screen. In 1994, most people were using Mosaic, a noncommercial
web browser that came out of the supercomputing center at the University of Illinois
in 1993. (Mosaic was partially written by Marc Andreessen for $6.85 an hour as


an undergraduate student on a work-study project. He moved on to fame and fortune
as one of the cofounders and the chief of technology at Netscape.)
In the SunWorld interview, Gosling says that in mid-1994, the language developers realized
that “We could build a real cool browser. It was one of the few things in the client/
server mainstream that needed some of the weird things we’d done: architecture neutral,
real-time, reliable, secure—issues that weren’t terribly important in the workstation
world. So we built a browser.”
The actual browser was built by Patrick Naughton and Jonathan Payne and evolved
into the HotJava browser. The HotJava browser was written in Java to show off the
power of Java. But the builders also had in mind the power of what are now called
applets, so they made the browser capable of executing code inside web pages. This
“proof of technology” was shown at SunWorld ‘95 on May 23, 1995, and inspired the
Java craze that continues today.
Sun released the first version of Java in early 1996. People quickly realized that Java 1.0
was not going to cut it for serious application development. Sure, you could use Java 1.0
to make a nervous text applet that moved text randomly around in a canvas. But you
couldn’t even print in Java 1.0. To be blunt, Java 1.0 was not ready for prime time. Its
successor, version 1.1, filled in the most obvious gaps, greatly improved the reflection
capability, and added a new event model for GUI programming. It was still rather
limited, though.
The big news of the 1998 JavaOne conference was the upcoming release of Java 1.2,
which replaced the early toylike GUI and graphics toolkits with sophisticated and scalable
versions that come a lot closer to the promise of “Write Once, Run Anywhere”™
than its predecessors. Three days after (!) its release in December 1998, Sun’s marketing
department changed the name to the catchy Java 2 Standard Edition Software Development
Kit Version 1.2.
Besides the Standard Edition, two other editions were introduced: the Micro Edition for
embedded devices such as cell phones, and the Enterprise Edition for server-side processing.
This book focuses on the Standard Edition.
Versions 1.3 and 1.4 of the Standard Edition are incremental improvements over the initial
Java 2 release, with an ever-growing standard library, increased performance, and,
of course, quite a few bug fixes. During this time, much of the initial hype about Java
applets and client-side applications abated, but Java became the platform of choice for
server-side applications.
Version 5.0 is the first release since version 1.1 that updates the Java language in significant
ways. (This version was originally numbered 1.5, but the version number jumped
to 5.0 at the 2004 JavaOne conference.) After many years of research, generic types
(which are roughly comparable to C++ templates) have been added—the challenge was
to add this feature without requiring changes in the virtual machine. Several other useful
language features were inspired by C#: a “for each” loop, autoboxing, and metadata.
Language changes are always a source of compatibility pain, but several of these new language
features are so seductive that we think that programmers will embrace them
eagerly.
Not Everything Is As It Seems
KhmerITForum.net ...Unlimited resource for you
Email : dollar.duong@gmail.com

( Pre-CCIE, CCNP, CCNA, JNCIS-ER, JNCIA-ER, JNCIA-EX )
Back Forum