Where it all began
Java was first released in 1995 by James Gosling of Sun Microsystems. That company has since been acquired by computer technology giant, Oracle. TIOBE programming community index have ranked Java as the most popular programming language for the last three years, this is based on search queries online. Although a contentious subject, Java reportedly garnered its name from Kim Polese, the then product manager of Oak. In an interview with JAVAWorld, Kim stated
“I wanted something that reflected the essence of the technology: dynamic, revolutionary, lively, fun. Because this programming language was so unique, I was determined to avoid nerdy names. I also didn't want anything with 'Net' or 'Web' in it, because I find those names very forgettable.”
Java is now used by some of the most popular sites on the internet, such as Twitter & Netflix, and has remained on top of its game throughout its history as other technologies have come and gone. From the start of its development journey, Java has stood by its mantra of “Write once, run anywhere”.
Java & Android
Java is perhaps best known for being the language of the Android operating system and software applications. For the last ten years Android and Apple have been locked in battle to develop the most powerful smart phone available on the market with Android currently monopolising the market of mobile operating software across the globe, according to Statcounter. The popularity of Android devices is likely because of the functional benefits of developing with Java. As I’m sure android users will regularly remind you, an android device is capable of many customisable options that go far beyond the limitations of iOS. Gadgets now compile a list of their favourite things an Android can do, that an iPhone can’t. Within the features they list live wallpapers, smart text selection & the ability to test out an app before deleting. A few of the features mentioned were unknown to the Android users of the office, but I guess that goes to show the scope of abilities they have at their fingertips. I would suggest the reason for Androids control over the market has a lot to do with Java being Open Source, which allows developers to collaborate with those that have built similar products before, which can streamline the development stage as far as time scales go.
Java Virtual Machine
The Java Virtual Machine (JVM) is a tool used by developers to process their binary code (Bytecode) into a format that can be interpreted by a computer’s processor, so that once a code has been written once it can be deployed to anywhere which ties in with the aforementioned “Write once, run anywhere” mantra of Java. Social Media giant Twitter use the JVM to implement updates and changes to their site on a regular basis, the companies Senior Director of software engineering Robert Benson credits a lot of their success in building such a widely used platform for information sharing to the JVM, noting that the shift to Java eliminated a lot of the performance issues that they had previously.
The lesser spotted ‘Fail Whale’ is a character Twitter created to add a light-heartedness to their over-capacity error messages, however the JVM has eliminated these issues by building systems that can handle the multitude of queries easily by scaling horizontally. Twitter are arguably the biggest success story Java can shout about, positioning themselves as a news outlet as opposed to a social story telling site Twitter is the go-to destination for many people to spread news stories as and when they occur across the globe.
Easily deployed on mobile
We have already established the clear popularity of the Android operating software, the flexibility afforded to the developer with the use of the JVM is noted by Calvin Austins of Dzone as being a key factor in its popularity across the mobile platform. Though limited in the development of apps for Apple’s iOS, the Android platform lends itself very well to applications built in the JVM. Popular gaming apps Angry Birds, Temple Run & Subway Surfer are all products of Java’s mobile development tools and Java is particularly useful for companies like Gameloft and Rovio who have made their name from several similar games that mean a fan of one game can easily engage with another.
Java recent releases
From the first ever release to the release of Java 8 there was usually a period of at least 24 months between editions. However, Java 9 was released 9 months after 8 and 10 released only 6 months after that. The release schedule from 10, 11 & 12 again leaving a 6 months gap. In February 2018 Stackify published their ‘State of Java 2018’ report in which they noted that due to this bi-annual release schedule, developers would be forced to decide between updating their processes every 6 months or stick to one release that is likely to become outdated. It appears the latter option was the most popular among developers as Java 8 is still used by 84% of the development community, with less than 5% adopting Java 9 & 10. These are the numbers presented by Baeldung in their ‘State of Java 2018’ report released in May. September saw the release of Java 11 and whilst it is too soon to find adoption stats only a month after its release, it would be a safe bet that they won’t be any different to Java 10 as the Java 12 release is only around the corner with a tentative date of March 2019. It is believed that Java 12 is likely to mark a shift from Oracle towards a more longer-term delivery of their versions, with a commitment to bringing updates to the current release as opposed to upgrading the version twice a year.
Is Java 12 likely to dethrone Java 8?