History

History of Java

Java programming language was originally developed by Sun Microsystems which was initiated by James Gosling and released in 1995 as core component of Sun Microsystems’ Java platform (Java 1.0 [J2SE]). History of even naming of the Java is very interesting. It went under many names.

Java Name History

GreenTalk

James Gosling was leading a team named as ‘Green’ team. Target of this team was to create a new project which can. Initially C++ was the original choice to develop the project. James Gosling wanted to enhance C++ to achieve the target but due to high memory usage, that idea was rejected and team started with a new language initially named as GreenTalk. The file extension used as .gt. Later this language was termed as Oak and finally to Java.

Oak

James Gosling renamed language to Oak. There was an Oak tree in front of his office. James Gosling used this name as Oak represents solidarity and Oak tree is the national tree of multiple countries like USA, France, Romania etc. But Oak technologies already had Oak as a trademark and James team had to brainstrom another title for the language.

Finally Java

Team put multiple names like DNA, Silk, Ruby and Java. Java was finalized by the team. James Gosling tabled Java title based on type of espresso coffee bean. Java is an island in Indonesia where new coffee was discovered termed as Java coffee. As per James Gosling, Java was among the top choice along with Silk. Finally Java was selected as it was quite unique and represented the essence of being dynamic,revolutionary and fun to say.

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.

On 13 November, 2006, Sun released much of Java as free and open source software under the terms of the GNU General Public License (GPL).

On 8 May, 2007, Sun finished the process, making all of Java’s core code free and open-source, aside from a small portion of code to which Sun did not hold the copyright.

The latest release of the Java Standard Edition is Java SE 21. With the advancement of Java and its widespread popularity, multiple configurations were built to suit various types of platforms. For example: J2EE for Enterprise Applications, J2ME for Mobile Applications.

Java Versions History

Over the period of nearly 30 years, Java has seen many minor and major versions. Following is a brief explaination of versions of java till date.

Sr.No.VersionDateDescription
1JDK Beta1995Initial Draft version
2JDK 1.023 Jan 1996A stable variant JDK 1.0.2 was termed as JDK 1
3JDK 1.119 Feb 1997Major features like JavaBeans, RMI, JDBC, inner classes were added in this release.
4JDK 1.28 Dec 1998Swing, JIT Compiler, Java Modules, Collections were introduced to JAVA and this release was a great success.
5JDK 1.38 May 2000HotSpot JVM, JNDI, JPDA, JavaSound and support for Synthetic proxy classes were added.
6JDK 1.46 Feb 2002Image I/O API to create/read JPEG/PNG image were added. Integrated XML parser and XSLT processor (JAXP) and Preferences API were other important updates.
7JDK 1.5 or J2SE 530 Sep 2004Various new features were added to the language like foreach, var-args, generics etc.
8JAVA SE 611 Dec 20061. notation was dropped to SE and upgrades done to JAXB 2.0, JSR 269 support and JDBC 4.0 support added.
9JAVA SE 77 Jul 2011Support for dynamic languages added to JVM. Another enhancements included string in switch case, compressed 64 bit pointers etc.
10JAVA SE 818 Mar 2014Support for functional programming added. Lambda expressions,streams, default methods, new date-time APIs introduced.
11JAVA SE 921 Sep 2017Module system introduced which can be applied to JVM platform.
12JAVA SE 1020 Mar 2018Unicode language-tag extensions added. Root certificates, threadlocal handshakes, support for heap allocation on alternate memory devices etc were introduced.
13JAVA SE 115 Sep 2018Dynamic class-file constants,Epsilon a no-op garbage collector, local-variable support in lambda parameters, Low-overhead heap profiling support added.
14JAVA SE 1219 Mar 2019Experimental Garbage Collector,Shenandoah: A Low-Pause-Time Garbage Collector, Microbenchmark Suite, JVM Constants API added.
15JAVA SE 1317 Sep 2019Feature added – Text Blocks (Multiline strings), Enhanced Thread-local handshakes.
16JAVA SE 1417 Mar 2020Feature added – Records, a new class type for modelling, Pattern Matching for instanceof, Intuitive NullPointerException handling.
17JAVA SE 1515 Sep 2020Feature added – Sealed Classes, Hidden Classes, Foreign Function and Memory API (Incubator).
18JAVA SE 1616 Mar 2021Feature added as preview – Records, Pattern Matching for switch, Unix Domain Socket Channel (Incubator) etc.
19JAVA SE 1714 Sep 2021Feature added as finalized – Sealed Classes, Pattern Matching for instanceof, Strong encapsulation of JDK internals by default. New macOS rendering pipeline etc.
20JAVA SE 1822 Mar 2022Feature added – UTF-8 by Default, Code Snippets in Java API Documentation, Vector API (Third incubator), Foreign Function, Memory API (Second Incubator) etc.
21JAVA SE 1920 Sep 2022Feature added – Record pattern, Vector API (Fourth incubator), Structured Concurrency (Incubator) etc.
22JAVA SE 2021 Mar 2023Feature added – Scoped Values (Incubator), Record Patterns (Second Preview), Pattern Matching for switch (Fourth Preview),Foreign Function & Memory API (Second Preview) etc.
22JAVA SE 2119 Sep 2023Feature added – String Templates (Preview), Sequenced Collections, Generational ZGC, Record Patterns, Pattern Matching for switch etc.

Comments

Leave a Reply

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