You are on page 1of 4

The Java History Timeline

The Green Project Begins


MS DOS is the dominant operating system
1991
Cell phones weigh half a pound
"Biosphere 2" project begins
"Oak" is the language 
*7 Debuts
1992
"Duke" is featured in the Interface
Johnny Carson signs off "The Tonight Show" on NBC
The Green Project becomes FirstPerson
1993 Mosaic v1.0 is released
"Cheers" ends an 11-year run
WebRunner released — the first browser that supports moving objects and dynamic executable content
1994 The Apple QuickTake 100, the first consumer digital camera, goes on sale for less than $1,000 
"Friends" debuts on NBC
Java technology released to a select group on the Web site wicked.neato.org
The San Jose Mercury News runs a front-page article about Java technology
1995
Name changed from "Oak" to "Java"
Announced at Sun World -- Java technology is officially born
The first JavaOne Developer Conference
JDKtm 1.0 software is released
1996
Chess computer Deep Blue defeats Garry Kasparov for the first time
"Dolly" the first cloned sheep is born
Over 220,000 downloads of JDK 1.1 software occur in just three weeks
JavaOne draws 8,000 attendees, becoming the world's largest developer conference
1997
Java Card 2.0 platform is unveiled
43% of U.S. families own a computer
JDK 1.1 release downloads top 2 million
Visa launches world's first smart card based on Java Card technology
1998
The Java Community Process (JCP) program formalized
"Who Wants to Be a Millionaire?" premieres in the U.K
Java 2 platform source code is released
JavaOne draws 20,000
1999
J2EE beta software is released
"Star Wars Episode I: The Phantom Menace" released
Over 400 Java User Groups are established worldwide
Java Developer Connection program tops 1.5 million members
2000 Steve Jobs joins Scott McNealy on stage at JavaOne to announce a major commitment by Apple in support of
Java technology
Heavy Metal band Metallica sues Napster for copyright violations
First international JavaOne conference in Yokohama Japan
Over 1 million downloads of the Java Platform, Enterprise Edition (Java EE) SDK
2001
Google Inc. PageRank search algorithm patent awarded
"The Lord of the Rings: The Fellowship of the Ring" is released
J2EE SDK downloads reach 2 million
78% of executives view J2EE technology as the most effective platform for building and deploying Web services
2002
The Euro is introduced
"The Osbournes" becomes a surprise hit on MTV
Java technology runs in almost 550 million desktops
Almost 75% of professional developers use Java programming language as their primary development language
2003
Commercial Voice-Over-Internet (VoiP) phone service begins
"The Da Vinci Code" is published
2004 Java 2 Platform, Standard Edition 5 (Project Tiger) is released
The Java technology-powered Mars Rover (Spirit) touches down on Mars
Sun Java Studio Creator is launched
Java technology celebrates its 10th birthday
Approximately 4.5 million developers use Java technology
2005
Over 2.5 billion Java technology-enabled devices are available
java.com bundles the Google Toolbar with the JRE download
Rich Green announces at the JavaOne 2006 Conference that it's not a matter of when Sun will open source Java
technology, but how. The NetBeans IDE 5.0 is released. Sun open-sourced Java EE components as the Glassfish
2006
Project to java.net. Java SE and ME initial components are released as open source. Pirates of the Caribbean:
Dead Man's Chest is released.

History
James Gosling initiated the Java language project in June 1991 for use in one of his
many set-top box projects.[9] The language, initially called Oak after an oak tree that
stood outside Gosling's office, also went by the name Green and ended up later
renamed as Java, from a list of random words.[10] Gosling aimed to implement a virtual
machine and a language that had a familiar C/C++ style of notation. [11]
Sun released the first public implementation as Java 1.0 in 1995. It promised "Write
Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly
secure and featuring configurable security, it allowed network- and file-access
restrictions. Major web browsers soon incorporated the ability to run Java applets within
web pages, and Java quickly became popular. With the advent of Java 2 (released
initially as J2SE 1.2 in December 1998), new versions had multiple configurations built
for different types of platforms. For example, J2EE targeted enterprise applications and
the greatly stripped-down version J2ME for mobile applications. J2SE designated the
Standard Edition. In 2006, for marketing purposes, Sun renamed new J2 versions
as Java EE, Java ME, and Java SE, respectively.
In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later
the Ecma International to formalize Java, but it soon withdrew from the process. [12] Java
remains a de facto standard, controlled through the Java Community Process.[13] At one
time, Sun made most of its Java implementations available without charge, despite
their proprietary software status. Sun generated revenue from Java through the selling
of licenses for specialized products such as the Java Enterprise System. Sun
distinguishes between its Software Development Kit (SDK) and Runtime Environment
(JRE) (a subset of the SDK); the primary distinction involves the JRE's lack of the
compiler, utility programs, and header files.
On November 13, 2006, Sun released much of Java as open source software under the
terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the
process, making all of Java's core code available under free software/open-source
distribution terms, aside from a small portion of code to which Sun did not hold the
copyright.[14]Sun's vice-president Rich Green has said that Sun's ideal role with regards
to Java is as an "evangelist."[15]

Since its introduction, Sun has released a new version of the Java language every two
years or so. These new versions brought enhancements, new capabilities and fixes to
bugs. Until recently, the versions were numbered 1.x, where x reached up till 4.
(Intermediate revisions were labeled with a third number - 1.x.y - as in 1.4.2.) The
newest version, however, is called Java 5.0 rather than Java 1.5.
Below is a timeline of the different versions of the basic, or Standard Edition (SE), of
Java along with some of the new features that each one introduced. This edition
contains the core language packages (the name for code libraries in Java) and is aimed
for desktop programming. 

VERSION OF JAVA
 1995: Version 1.0 of the Java Development Kit (JDK) was released for free by Sun.
o 8 packages with 212 classes
o Netscape 2.0-4.0 included Java 1.0.
o Microsoft and other companies licensed Java. 
 1997: Version 1.1:
o 23 packages - 504 classes
o Improvements include better event handling, inner classes, improved JVM.
o Microsoft developed its own 1.1. compatible Java Virtual Machine for the
Internet Explorer.
o Many browsers in use are still compatible only with 1.1.
o Swing packages of greatly improved graphics became available during this time
but not included with the core language.
 1999: Version 1.2, also called the Java 2 Platform
o 59 packages - 1520 classes
o Code and tools distributed as The Software Development Kit (SDK)
o Java Foundation Classes (JFC), based on Swing, for improved graphics and user
interfaces, now included with the core language.
o Collections API included support for various lists, sets, and hash maps.
 2000: Version 1.3:
o 76 packages - 1842 classes
o Performance enhancements including the Hotspot virtual machine.
 2002: Version 1.4:
o 135 packages - 2991 classes
o Improved IO, XML support, etc.
 2004: Version 5.0 (previously numbered 1.5):
o 165 packages, over 3000 classes
o Faster startup and smaller memory footprint
o Metadata
o Formatted output
o Generics
o Improved multithreading features

We discuss Java 5.0 further in this chapter and examine individual features in later chapters like
those listed above. See the Code Compatiblity page for a discussion of issues related to dealing
with codes, compilers, and JVMs from different versions.
Other Editions of Java
In the late 1990s, Sun split off two other more specialized branches, or editions, of Java. One is
aimed at small, embedded applications and the other for large scale middleware applications:
Micro Java 
Embedded systems such as cell phones and device controllers typically offer reduced resources
as compared to desktop PCs. This means substantially less disk space or no disk at all, and less
of other types of nonvolatile memory. It also usually means a smaller display or perhaps no
display at all.
For such systems Sun offers slimmed down versions of Java.
 JavaCard - extremely limited Java for systems with only 16kb nonvolatile
memory and 512 bytes volatile
 EmbeddedJava - based on Java 1.1 for 32 bit system with about 512kb each for
ROM and RAM. Individual packages, classes and even methods in the core
language can be thrown out to make room.
 PersonalJava - based on Java 1.1.8 for larger systems with 2MB ROM and more
than 1MB RAM. 
 Java 2 Platform, Micro Edition (J2ME) - based on the Java 2 Platform, J2ME
replaces the Java 1.1 based systems (EmbeddedJava and PersonalJava but not
JavaCard). The developer will choose from different configurations to suit the
capacity of a given system.

J2EE - Java 2 Platform, Enterprise Edition 


With the Java 2 Platform came a separate version with enhanced resources targeted at enterprise
applications. The Java 2 Enterprise Edition now provides a wide array of tools for building
middleware software such as for database access applications, online storefronts, and other
services.
Naming Conventions
All of these editions and version numbers can be a bit confusing for newcomers. Also, terms
change such as Java Development Kit becoming Software Development Kit. For this course,
however, you can just use the latest version - Java 5.0 - and not worry about all these historical
issues.
Note that we use the terms Java 1.x, SDK 1.x, and J2SE 1.x interchangeably and similarly, for
Java 5.0, SDK 5.0, and J2SE 5.0. This course was originally developed with Java 1.4.2 but we
have now converted the codes to Java 5.0.
We also will occasionally refer simply to the "platform" to indicate the whole Java progamming
environment provided by the compiler, JVM, and the various other tools available for working
with the language.

You might also like