Java celebrates its 25th birthday on May 23rd 2020. It is a class-based, object-oriented, strongly-typed language known for its “write once run anywhere” philosophy. It is also regarded as the most widely used “professional programming” language with nine million Java developers worldwide in 2017, according to an estimate from Oracle.
There’s an ever-present (well it seems like that) notification on my desktop telling me a Java update is available. I ignore it. I don’t use Java on a day-to-day basis and I’ve read often enough about security issues to do with Java.
I might not knowingly use Java but sites I rely on – online banking being the one that springs to mind – do and, of course, mobile phones use Java for Android apps and the Android OS is also still based on it, despite Oracle’s ongoing lawsuit. Java is ubiquitous whether we like it or not.
So what are Java’s origins? Although it was a team effort at Sun invloving Mike Sheridan, Patrick Naughton and others, Gosling is the person most associated with it, and this was recognized last year when he received a Fellow Award from the Computer History Museum for:
the conception, design, and implementation of the Java programming language.
Gosling received his BS in computer science from the University of Calgary in 1977 and did his PhD at Carnegie Mellon University (CMU), where he developed a variant on Emacs and wrote a version of the UNIX operating system for multiprocessor computer systems. Also while at CMU he ported UCSD Pascal p-code from a PERQ workstation to run on a DEC VAX computer system by writing a VAX emulator. Later when working on the Sun Java project, Gosling cited this early work as inspiration for the concept of a Java virtual machine, one that would allow code written once to run on multiple platforms by allowing programmers to always code for the same virtual machine.
James Gosling proposed producing a modified C++, which he called C++–, but then decided that it would be simpler to create a new language. He called his nascent language Oak because that was the tree that was just outside his office. Would the language have been as popular if it was called Oak? The world never had a chance to find out. As news of the project began to circulate Oak Technology raised a legal challenge requiring a rebrand for the language. James Gosling described this process as “wild craziness” during which “most of the words in the dictionary were yelled out”. Another name was called for and close contenders included Silk and DNA but eventually the team settled on Java, a shortened form of “Hot Lava Java”. Perhaps it was the coffee reference, highlighted in its now-familiar logo, that recommended the new language to coffee soaked programmers?
There is no denying Java’s predominance in the programming world. It is currently at number 2 on the TIOBE index – but this is remarkable as an anomaly. A year ago, again reporting on the TIOBE index, we reported Python Set To Be Top Language, but with the caveat that was likely to be some years into the future. However, in alternative survey of language popularity, that conducted by RedMonk Python already shares the top ranking with Java.
Despite its popularity and success, Java has a millstone hanging around its neck – Oracle, the company that acquired the language when it bought Sun in 2010. As we reported when Gosling quit Oracle within a few weeks of the Sun takeover, prior to Oracle’s ownership many people regarded Java, which had been open-sourced in 2006 as something safe to base the future on, free of purely commercial manipulation. Oracle, however, has a reputation for making money and doing so in an aggressive fashion and Java expected Java to be compromised in some way so as to generate an income for Oracle. To an extent this worry proved justified but a workaround was found. There are now two versions of Java – the free Oracle OpenJDK which can be used without a commercial licence for any purpose and the Oracle JDK which can be used for testing and development without a commercial licence, but needs a paid-for licence if you use it in production. In addition, if you want long-term support you have to use a commercial version as support for JDK 8 has been phased out. Essentially Java is still free and open source, but if you don’t want to update your software every six months then you need a commercial license.
or email your comment to: email@example.com