Java, the wildly accessible and ever-present programming language, is celebrating its 22nd anniversary today. Twenty-two years. To put that into perspective, if Java was a person, they would be old enough to have finished college, have a celebratory alcoholic drink, gamble in Iowa and get married without parental consent in Mississippi!
A lot of people today might take for granted the impact Java has had, not just on computing, but on the day-to-day lives of non-programming folk.
Java is on our smartphones, powering Android devices and millions of apps. It reads our credit and debit cards at shop tills and pings financial information between businesses and our banks. It allows us to play games, such as Minecraft, across multiple devices, creating an infinite sandbox of creative opportunities.
Basically, Java is all around us, but that wasn’t always the case; it actually had very humble beginnings.
It all started in 1990, when Sun Microsystems engineer Patrick Naughton became increasingly annoyed with the state of Sun’s C++ and C APIs and was given the opportunity to create an alternative language as part of The Stealth Project.
The Stealth Project soon changed to the Green Project, with Mike Sheridan and James Gosling joining the ranks, and the group began developing new technology for programming next-generation smart appliances.
Initial ideas revolved around combining Mesa and C and producing an object-orientated environment in C++.
They decided to rule out C++ because it needed too much memory and because its complexity led to developer errors; the lack of garbage collection was resulting in programmers having to manually manage system memory, which often resulted in mistakes. They also wanted a platform that would port easily to all types of devices.
Gosling attempted to modify and extend C++ (a development he refers to as "C++ ++ --"), but quickly abandoned this approach in favor of creating an entirely new language which he called Oak, named after the tree that stood outside his office.
The new language took 18 months to finish. By the fall of 1992, the team was able to present their first demonstration where they built a personal digital assistant called Star7, which had a graphical interface to assist the user. It also featured a smart agent called “Duke,” who would later go on to become the mascot of Java.
The Green Project became Firstperson, a subsidiary of Sun Microsystems, and started to look at building highly interactive devices. They were approached by Time Warner to create an interactive set-top box but responded with a proposal for an entire set-top box platform! The TV industry thought that this gave too much power to the user and Firstperson lost their bid before eventually being rolled back into Sun after they were unable to find further funding in the TV industry.
In 1994, after several days of brainstorming, the team refocused the platform on the World Wide Web, which was gathering a lot of momentum at the time. With the dawn of graphical web browsers such as Mosaic, the team figured that the Internet could evolve into the same highly interactive medium that they had envisioned for cable TV. Naughton would write a small browser named WebRunner (an homage to the movie Blade Runner) which would later become HotJava.
In the same year, Sun changed the name of the Oak language to Java, after a trademark dispute from Oak Technology. The name 'Java' was the result of a brainstorming session which James Gosling described as “continuous wild craziness.”
There seems to be some disagreement on who suggested Java as a name, with Gosling adding “It felt like most of the words in the dictionary were yelled out at some time or another.” Rumors of the name being suggested because the developers were holding mugs of coffee in their hands during the meeting are yet to be refuted, but if the origins of the Oak name are to be believed doesn't seem beyond the realms of possibility…
Although Java 1.0a was available for download in 1994, it wasn’t until the 23rd of May 1995 that Java would see its first public release. Java 1.0a2, along with the HotJava browser, was announced by Sun Microsystem’s Director of Science, John Gage, at the SunWorld conference.
Since the release of JDK 1.0 on January 23, 1996, the Java language has undergone several changes. Since J2SE 1.4 in 2002, the Java Community Process (JCP) has governed the overall evolution of the language. The JCP uses Java Specification Requests to specify any additions or changes to the platform.
In 2004, the version name format changed and instead of being J2SE 1.5 (which it is still known as internally), it was known as J2SE 5.0. The name format changed once again in 2006 with the launch of Java SE 6; this format is currently still in use today.
JDK 9 will launch in July 2017 and promises the design and implementation of a standard module system for the Java SE platform, and to apply that system to the platform itself and to the JDK.
And that brings us up to date! Remember on May 23 to doth your cap and raise a glass to Java, a truly versatile programming language.