It has become quite the norm to be met with scepticism whenever you propose Java to people who are not familiar with the language for a new project or a student who is deciding which language to take on in their journey to the world of software development. The most common response is to be met with the classical questions “Isn’t Java old now?” or “Is Java a dying language?”
If we have to answer the first question, the answer is a resounding yes, however, a mature language has a lot to offer in the world of business and perhaps what can be perceived by newcomers as a negative attribute, is actually an advantage in the business world. During its lifetime, Java has been the subject of a few controversies and transformations, which may have caused scepticism about the adoption of the language for new projects and business. Nonetheless, Java is still a popular language with high adoption rates and with a vast range of frameworks that support the language.
Java Adoption. A peek at the statistics.
To get to our second popular question, “Who’s still using java?”, there’s no better way to answer this question than by looking at some statistics. One may argue that statistics can be biased, and that’s quite correct, so in order to get a clear and more correct picture we need to look at multiple sources. When we look at GitHut 2.0, Tiobe, PYPL and Slash Data, Java was rated among the top 3 languages in use in the world during the third and fourth quarter of 2020. The above four sources base their statistics on the following aspects
- GitHut 2.0 provides statistics on activities performed on GitHub repositories by programming languages. Java is the 3rd most popular language when looking at, push requests, pull requests and issues.
- Tiobe provides a programming language popularity index which is based on the availability of skilled software developers, courses and third-party vendors. Tiobe extracts its data using a number of search engines.
- PYPL which is hosted on GitHub and bases its statistics on Google searches for tutorials by programming languages.
- Finally, Slash Data use surveys and an estimate of the worldwide market size of developers to analyze the distribution of developers between languages.
If you’re interested in taking up Software development as a career, you will most certainly want to choose a language which is highly popular in the industry and will provide you with ample employment opportunities. Having a popular language as part of your portfolio comes in handy especially if you end up looking for a job in the midst of a recession or crisis such as the covid pandemic. During the third quarter of 2020, Business Insider rated Java as the third most programming language that recruiters are looking for. Java also makes it in third place in HackerRank’s top skill looked for by hiring managers worldwide. So after having seen these numbers you can’t help but ask if java is a dying language, how come is it so popular and widely adopted.
Why is Java perceived as a dying language?
Java’s Dark ages and its `new` release schedule
Since the first release in 1995/6 Java was updated more or less once every year or two which may seem slow by today’s standards, but in the ninety’s this was more or less the expected update rate for mainstream solutions. When Java’s version 6 was released in 2006, it took 5 years before another version was released. This was a very long period of time by any standard and may have delayed a lot of feature updating within the language. After Oracle acquired Java the next two releases still came with 3 years apart from each other. These delays in updating the language may be partly to blame with respect to why there’s a perception that Java is dying. A number of shifts in programming paradigm took quite some time to make it to Java, thus giving the impression that Java is a dying language. However, in 2017 Oracle has provided news that it will start releasing non-LTS versions, in order to provide ample time to vendors which depend on java’s feature to update their tools. Since then Oracle has been releasing a version every 6 months and has been providing a number of updates and new features within the language.
Oracle makes its JDK Commercial
When Oracle decided to make its JDK commercial a number of software and SaaS vendors were concerned whether adopting Java would still be cost-effective since this meant that vendors that were using the Oracle JDK could not continue to do so without paying a commercial license. However, Java specifications are still public and Oracle is a main contributor to the OpenJDK along with a number of other huge software technology companies. The OpenJDK is regularly updated, together with a number of other JDK variants such as Amazon Corretto JDK, Zulu JDK, etc and thus companies still have an option as to whether to purchase Oracles commercial license which comes with Oracle support or use another alternative as a JDK. These JDK’s are compatible and can be exchanged seamlessly between each other.
Google adopted Kotlin for mobile development
Since Oracle sued Google over the alterations performed in Java to be tweaked for the Android platform, Google started pushing Kotlin as the recommended language for building native Android applications. The feud between the two has been going on for about ten years. Today all code samples provided by Google in its documentation are available in both Java and Kotlin. This on its own has played a significant role in the decline of adoption of Java. Nonetheless, Kotlin runs on top of JRE and is compatible with all frameworks that have been built for Java, thus while this in itself causes a decline in the direct usage of the statistics of the Java language, however, it makes the Java ecosystem (i.e. the JVM and all tools which depend on the JVM) even stronger.
Associated Languages and Frameworks
An important aspect of a programming language to use are the available frameworks. Wikipedia provides a list of frameworks for Java linking to more than 120 frameworks and this list is by no means exhaustive. Spring, one of the most popular collections of frameworks for Java has 210 repositories on GitHub. Apache also provides numerous frameworks which can be used within Java, and if you’re wondering about frameworks to integrate AI within Java there are numerous frameworks for that as well, such as Deeplearning4j and TensorFlow.
If Java and its Java Virtual Machine had to disappear this would make a number of other languages disappear, which would include Scala, Groovy, Kotlin and Clojure, most of which are still increasing in popularity, not to mention that if both Java and Kotlin were to disappear this would create some issues with the Android platform, given that these are promoted for native programming. The Android platform till today has the largest market share (more than 70% of market share) worldwide.
Conclusion
Truth be told nobody knows the future and while speculators enjoy calling the end of days, this does not mean that such speculation is meant to become reality. Java is a mature language which provides ample frameworks, community support, and is widely adopted within the industry. While statistics show that the language has suffered some decline in recent years, it is still among the top most popular languages adopted worldwide, so it is highly unlikely that we will see this language disappear any time soon.
Sources
- GitHut 2.0 Index
- PopularitY of Programming Language Index
- TIOBE Index
- Slash Data – Developer Economics: State of the developer nation 19th edition
- The top 10 coding languages recruiters are looking for right now — and how to learn them online for free
- HackerRank Developer Skills Report
- Mobile Operating System Market Share Worldwide
- Overview of AI Libraries in Java