CodeGym /Java Blog /Random /History of Java. A Full Story of Java Development, from 1...
Lucy Oleschuk
Level 31

History of Java. A Full Story of Java Development, from 1991 to 2024

Published in the Random group
Today Java is one of the most popular and in-demand programming languages in the world, with over 7 million Java developers and thousands of people learning Java online (on platforms such as CodeGym and in other ways) every year because Java is universally used across industries and for a variety of business purposes. History of Java. A Full Story of Java Development, from 1991 to 2024 - 1As you may or may not know, Java has a long (almost three decades long in fact) history. Born in the early 1990s as Project Oak, originally Java was designed to become a niche programming language meant to be used in the digital cable television industry to program digital devices such as set-top boxes and smart TVs. It took years and multiple changes to bring Java where it is now. As the saying goes, return to the root and you will find the meaning. Knowing that the majority of people learning Java and even professional Java developers typically lack the knowledge of how Java was developed and evolved over the time, we thought it would be a good idea to explore the history of Java in more detail.

Java: the roots

Java was born in June 1991 as a project called "Oak" under the development by a small team of engineers working for Sun Microsystems. They called themselves the Green Team: James Gosling, Mike Sheridan, and Patrick Naughton. And the word “Oak” was picked to name the new technology because the Oak tree is a symbol of strength and durability. Time has shown that this name ended up being very much appropriate and even prophetic despite it being changed to Javain 1995 due to the fact that Oak was already registered as part of another trademark. James Gosling was the head of the project, and his original goal was to create an object-oriented programming language that could implement a virtual machine and would be simpler and more universal than C/C++, but at the same time would have syntax similar to C/C++ to make it easy to learn and use by current programmers who are well-familiar with C notation. The new programming language was originally designed mainly for the digital cable television industry, to program the new generation of TVs with smart functions and various set-top-box devices.

Java: a new hope

The development of a new programming language was finished only in 1995. And early in 1996, Sun Microsystems released the first public implementation of Java 1.0. “Java's write-once-run-everywhere capability along with its easy accessibility have propelled the software and Internet communities to embrace it as the de facto standard for writing applications for complex networks. We're delighted to invite developers to download Java 1.0 immediately and start building the next killer application," said Sun Microsystems in the press-release announcing the launch of Java. Prior to the release, in 1995, the project was renamed from Oak to Java. The reason: the original name was already a trademark by Oak Technologies. According to James Gosling, they had various other options to use as a new name, including "dynamic", "revolutionary", "jolt", and "DNA", as something that would reflect the evolutionary, dynamic and long-lasting nature of this technology. "Java was one of the top choices along with Silk," said Gosling. Eventually, while having a cup of coffee, he decided to make Java the final pick, naming the language after an island in Indonesia where the first coffee was produced.

Java: revolution

Was Java really a revolution in software development at the time? Well, it would be more accurate to say that it was a much-needed solution that was rather quickly adapted by the market. The idea to use Java mainly as a cable television devices programming language was dropped somewhere in the middle of Java development as the developers realized that it is too advanced to be incorporated by the digital cable television industry at the time. Instead, Java had all the qualities required for internet programming, which was booming in the 1990s. Java was based on the "Write Once, Run Anywhere" promise, supporting free runtimes on popular platforms. It also offered a lot more security compared to C/C++, supporting configurable security options, which allowed programmers to easily limit the access to certain networks and/or files. According to the developers, they developed Java to be in line with several core principles:
  • Simple,
  • Robust,
  • Portable,
  • Platform-independent,
  • Secured,
  • High Performance,
  • Multithreaded,
  • Architecture Neutral,
  • Object-Oriented,
  • Interpreted,
  • Dynamic.
They had five primary goals when developing this programming language. Java had to:
  1. Use the object-oriented programming methodology.
  2. Support executing of the same code on multiple platforms and operating systems.
  3. Built-in computer network support.
  4. Allow secure execution of code from remote sources.
  5. Be easy to learn and use.

Java: rise to glory

Soon after Java 1 was released, all the major web browsers incorporated the ability to run Java applets within web pages, which made Java one of the most mainstream technologies in internet programming. Java 2 (initially released as J2SE 1.2 in the end of 1998) added multiple configurations built for different types of platforms. J2EE included technologies and APIs for enterprise applications typically run in server environments, while J2ME added APIs optimized for mobile applications. In November of 2006, Sun released much of its Java virtual machine (JVM) under the GNU General Public License as free and open-source software. In May 2007 they completed the process of making Java open source by fully accessing JVM's core code. In April of 2009, Oracle Corporation completed the acquisition of Sun Microsystems and with it acquired all the rights on Java technologies developed by Sun’s developers within the Green Team. James Gosling resigned from Oracle a year later, in April of 2020.

Java: a new era

The biggest change in Java technologies development under Oracle came in 2017, when they announced that Java will be moved to a new release cycle, with a new version launched every six months, as a way to make sure Java-related technologies are updated timely in accordance with the needs and requirements of the modern-day market. The change took place after the release of Java 9 in September of 2017. Along with the new release cycle, Oracle also announced a major shift in how they build and release Java. The proprietary-licensed Oracle JDK was replaced by OpenJDK binaries as the primary release artifact distributed by Oracle. According to Mark Reinhold, chief architect for Java, delays with Java 8 and 9 were the main reason why they decided to adopt the new model. “Java's current release cycle is intended to be two years, but Java 9 has encountered significant delays due to the Java Platform Modules System (Jigsaw) and is now around 18 months late. Java 8 was also delayed for around eight months in order to address security issues. Under the new release schedule Oracle proposes strict time-based releases, known as feature releases. These will appear every year in March and September and will have version numbers of the form 18.3, 18.9, 19.3 and so on. Unlike the current train-based model, these releases will not be delayed to accommodate a major feature. New features will not be merged to a release source control repo until they are feature complete - if they miss a release, they must be retargeted for the following release or later,” Reinhold said. Java 16 was released on March 16th, 2021, whereas Java 17 long-term support (LTS) version was released on September 14, 2021. Java 16 had 17 new enhancements to the platform to improve developer productivity. “The power of the six-month release cadence was on full display with the latest release. Pattern Matching and Records were introduced a year ago as part of JDK 14 and have since gone through multiple rounds of community feedback based on real-world applications. This process has not only allowed Java developers to experiment with these features before they were finalized but also incorporated that critical feedback, which has resulted in two rock-solid JEPs that truly meet the needs of the community,” said Georges Saab, vice president of development, Java Platform Group, Oracle. Based on the same schedule, Java 18 was released on March 22, 2022 and Java 19 was released on 20 September 2022. Java 18 and Java 19 have brought 9 and 7 new capabilities correspondingly, making the language even more efficient. Both these versions were short-term releases, with only six months of premier support. Java 20 saw the world on 21 March 2023, whilst Java 21 was introduced on 19 September 2023. Java 20 offered 7 new features, including virtual threads and structured concurrency. As of January 2024, Java 21 is the newest LTS version with premier Oracle support up to September 2031. Along with thousands of performance updates, Java 21 boasts dozens of new features and enhancements to streamline development and deliver more efficient applications. “The new enhancements in Java 21 enable developers to build better applications even faster than before.” — says Georges Saab, senior vice president of Oracle Java Platform.

Java: the future

Today Java is well-known as one of the most versatile programming languages in the world. It is used almost everywhere in terms of platforms, technologies, and economy sectors: billions of Android phones are all running Java; many games are developed and maintained in Java; not to mention the extensive use of Java on enterprise-level server applications. The need for qualified and experienced Java developers worldwide keeps increasing since evolving trends, including AI, Big Data, and Blockchain, heavily rely on Java. With its vast collection of libraries, Java is great for handling large datasets and performing complex calculations, which makes it an optimal choice for big data applications. And Java's compatibility with Al frameworks (TensorFlow, Deeplearning4j, and some others) makes it a popular choice for Al applications. Java is also predicted to play a crucial role in Blockchain development. With the rise of decentralized finance (DeFi) technology and the need for scalable blockchain solutions, Java is expected to thrive in this sphere too. If you’re interested to know more about how Java is used today, in 2024, and how relevant it will remain in the years to come, check some of our previous articles on this topic:
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION