History of Java
History of Java
The TIOBE programming language popularity index graph from 2002 to 2018. Java is steadily on the top since
mid-2015.
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June
1991.[23] Java was originally designed for interactive television, but it was too advanced for the digital
cable television industry at the time. [24] The language was initially called Oak after an oak tree that
stood outside Gosling's office. Later the project went by the name Green and was finally
renamed Java, from Java coffee.[25] Gosling designed Java with a C/C++-style syntax that system
and application programmers would find familiar.[26]
Sun Microsystems released the first public implementation as Java 1.0 in 1996. [27] 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. The Java 1.0 compiler was re-written in Java by Arthur van Hoff to comply strictly
with the Java 1.0 language specification. [28] With the advent of Java 2 (released initially as J2SE 1.2
in December 1998 – 1999), new versions had multiple configurations built for different types of
platforms. J2EE included technologies and APIs for enterprise applications typically run in server
environments, while J2MEfeatured APIs optimized for mobile applications. The desktop version was
renamed J2SE. 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 JTC 1 standards body and later the Ecma
International to formalize Java, but it soon withdrew from the process. [29][30][31] Java remains a de
facto standard, controlled through the Java Community Process.[32] 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.
On November 13, 2006, Sun released much of its Java virtual machine (JVM) as free and open-
source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8,
2007, Sun finished the process, making all of its JVM'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.[33]
Sun's vice-president Rich Green said that Sun's ideal role with regard to Java was as an
"evangelist".[34] Following Oracle Corporation's acquisition of Sun Micro-systems in 2009–10, Oracle
has described itself as the "steward of Java technology with a relentless commitment to fostering a
community of participation and transparency". [35] This did not prevent Oracle from filing a lawsuit
against Google shortly after that for using Java inside the Android SDK (see Google section below).
Java software runs on everything from laptops to data centers, game consoles to
scientific supercomputers.[36] On April 2, 2010, James Gosling resigned from Oracle.[37]
In January 2016, Oracle announced that Java run-time environments based on JDK 9 will
discontinue the browser plugin.[38]
Principles
There were five primary goals in the creation of the Java language:[17]
Editions
Java Card
PersonalJava (discontinued)
v
t
e
Sun has defined and supports four editions of Java targeting different application environments and
segmented many of its APIs so that they belong to one of the platforms. The platforms are:
Java Platform, Micro Edition (Java ME) – targeting environments with limited resources. [42]
Java Platform, Enterprise Edition (Java EE) – targeting large distributed enterprise or
Internet environments.[44]
The classes in the Java APIs are organized into separate groups called packages. Each package
contains a set of related interfaces, classes, and exceptions. Refer to the separate platforms for a
description of the packages available.[relevant to this section? – discuss]
Sun also provided an edition called Personal Java that has been superseded by later, standards-
based Java ME configuration-profile pairings.