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 the 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.
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, 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 2022) is Java SE 17. 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 Version||Version Number||Release Date|
|1.0||January 23, 1996|
|JDK 1.1||1.1||February 19, 1997|
|1.2||December 8, 1998|
|1.3||May 8, 2000|
|1.4||February 6, 2002|
|1.5||September 30, 2004|
|Java SE 6|
|1.6||December 11, 2006|
|Java SE 7|
|1.7||July 28, 2011|
|Java SE 8 LTS||1.8||March 18, 2014|
|Java SE 9||9||September 21, 2017|
|Java SE 10||10||March 20, 2018|
|Java SE 11 LTS||11||September 25, 2018|
|Java SE 12||12||March 19, 2019|
|Java SE 13||13||September 17, 2019|
|Java SE 14||14||March 17, 2020|
|Java SE 15||15||September 15, 2020|
|Java SE 16||16||March 16, 2021|
|Java SE 17 LTS||17||September 14, 2021|
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:
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.
The Java version-string format has changed several times throughout the years. The following table outlines the main changes.
|1.0||The numbering started off with the model Major.Minor.Micro.|
|1.1||Early 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.0||While 1.2 was a major release from the perspective of the amount of change it had the version1.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.0||JDK 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, 8||With 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.|
|9||With JDK 9 there was an effort to redesign the by now complex numbering from scratch as part of JEP 223.|
|10 and above||JEP 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 2022) supported Java version for Long Term Support (TLS) is as follow:
|Java Version||Initial Release Date||End of Support Life (EOSL)|
|Java SE 17||2021-09-14||2029-09-30|
|Java SE 11||2018-09-25||2026-09-30|
|Java SE 8||2014-03-18||2030-12-31|
|Java SE 7||2011-07-11||2022-07-19|
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.