History of Java

Java language was created by Sun MicroSystems. James Gosling is known as the father of the java language. James Gosling and Team (named Green Team) initiated the Java language project in June 1991. Initially, their intention was to develop a language that can be used for digital devices like cell phones, televisions, set-top boxes, etc. But it was too advanced for the digital devices industry at the time.

James Gosling - History of Java

Initially, the name of the language was Oak, a tree name that was outside of Gosling’s office. Later the project went by the name Green and was finally renamed Java, from Java coffee, a type of coffee. James Gosling designed Java language with a C/C++ style syntax that system and application programmers would find familiar.

In 1996, the first public implementation of Java 1.0 was released by Sun Microsystems. The main intention for creating Java programming was “Simple, Robust, Portable, Architecture-Neutral, Platform-Independent, Secured, High performance, Interpreted, Threaded, and Dynamic”. It promised to write once, run anywhere functionality, 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.

On November 13, 2006, Sun Microsystems released most of its Java virtual machine (JVM) as free and open-source software under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun Microsystems made all of its JVM’s core code available under free software/open-source distribution terms.

In 2010, Sun Microsystems was acquired by Oracle Corporation, and since then all major versions and updates are handled by Oracle. With time Java has evolved as a very successful language to be used on and off the Internet. Today many of the applications and devices which we use on daily basis are using java language.

History of Java Release Versions

The latest version of Java (as of January 2023) is Java SE 19. With time Java releases different versions of it. The below table shows the Java SE versions and their release dates. The Long Term Support (LTS) releases are indicated in the following table with “LTS”.

Java SE VersionVersion NumberRelease Date
JDK 1.0
(Oak)
1.0January 23, 1996
JDK 1.11.1February 19, 1997
J2SE 1.2
(Playground)
1.2December 8, 1998
J2SE 1.3
(Kestrel)
1.3May 8, 2000
J2SE 1.4
(Merlin)
1.4February 6, 2002
J2SE 5.0
(Tiger)
1.5September 30, 2004
Java SE 6
(Mustang)
1.6December 11, 2006
Java SE 7
(Dolphin)
1.7July 28, 2011
Java SE 8 LTS1.8March 18, 2014
Java SE 99September 21, 2017
Java SE 1010March 20, 2018
Java SE 11 LTS11September 25, 2018
Java SE 1212March 19, 2019
Java SE 1313September 17, 2019
Java SE 1414March 17, 2020
Java SE 1515September 15, 2020
Java SE 1616March 16, 2021
Java SE 17 LTS17September 14, 2021
Java SE 1818March 22, 2022
Java SE 1919September 20, 2022
Java SE 2020March 2023
Java SE 21 LTS21September 2023

Java Code Names

Code names were used for early Java releases; the Major releases were named after birds or mammals, while the minor releases were named after insects (given they were bug-fix releases). Hopper was short for grasshopper and ladybird is the British name used for a ladybug. The 1.2 release was called “Playground” by some, but that was never an official or broadly-used code name. The practice of naming releases ended with JDK 7.

The below table shows the important releases and their code names:

VersionCode Name
1.0Oak
1.1.4Sparkler
1.1.5Pumpkin
1.1.6Abigail
1.1.7Brutus
1.1.8Chelsea
1.2Playground
1.2.1Gnat
1.2.2Cricket
1.3.0Kestrel
1.3.1Ladybird
1.4.0Merlin
1.4.1Hopper
1.4.2Mantis
5.0Tiger
6Mustang
7Dolphin

Release Naming

When first released Java was named Java Development Kit, abbreviated JDK. With the release of version 2, there was a rebranding to Java 2 – full name: Java 2 Software Development Kit, abbreviated to Java 2 SDK or J2SDK. This was reverted back to JDK with JDK 6 and has stayed that way since.

Release Numbering

The Java version-string format has changed several times throughout the years. The following table outlines the main changes.

Release FamiliesNumbering
1.0The numbering started off with the model Major.Minor.Micro.
1.1Early 1.1 updates ended in _002, _003, etc. for Windows and Solaris Reference releases and _02, _03 for Solaris Production releases.
1.2.0, 1.3.0, 1.4.0While 1.2 was a major release from the perspective of the amount of change it had the version 1.2 vs. 2.0 and it was clear that there would never be another “Major Release”. Consequently, Minor releases (1.2, 1.3, etc.) were referred to as Major releases, and Micro releases (1.3.1, 1.4.2) as Minor releases.
5.0JDK 5.0 dropped the leading 1(Major) from the Product Version but was kept in the Developer Version number. The Minor number was kept but no Minor releases were ever shipped, 5.1 (Dragon/Dragonfly) was planned but never released.
6, 7, 8With JDK 6 Minor numbers were dropped from the Product Version. During this period the update numbering went through various iterations moving from incrementing by 1, then 2, followed by increments of 5, and finally 10 – it also became standard for the CPUs to have odd version numbers, and updates even.
9With JDK 9 there was an effort to redesign the by-now complex numbering from scratch as part of JEP 223.
10 and aboveJEP 322 refined the version numbering further to match the now time-based release model.

Current Release Support Timeline

The length of time updates are provided for a Feature release is outlined in the Oracle Java SE Support Roadmap. Currently (as of January 2023) supported Java version for Long-Term Support (TLS) is as follows:

Java VersionInitial Release DateEnd of Support Life (EOSL)
Java SE 172021-09-142029-09-30
Java SE 112018-09-252026-09-30
Java SE 82014-03-182030-12-31
Java SE 72011-07-112022-07-19

FAQ

How the name Java was chosen?

Java was created on the principles like Robust, Portable, Platform Independent, High Performance, Multithread, etc. So the suggested names were “dynamic”, “revolutionary”, “Silk”, “DNA”, etc. They wanted something that reflected the essence of the technology.

Gosling came up with the name “Java” while having a coffee near his office. According to him, “Java was one of the top choices along with Silk”. Since Java was so unique, most of the team members preferred Java than other names. Java is an island in Indonesia where the first coffee was produced. It is a kind of espresso bean.

You may read this:

Share with friends

Leave a Comment

Your email address will not be published. Required fields are marked *