Is Java dying ? .. maybe not!!
“You either die a hero or live long enough to see yourself become the villain — The Dark Knight”
Regarded as one of the most popular programming languages of this century Java has been in the industry for almost 30 years now. But, we live in a competitive world, and everything “must” follow the rule of the land — “Survival of the fittest”. Hence, it’s a fair question to ask: Is Java still relevant?
One of the things which makes java still relevant is Spring Framework, which opened the doors for Java to sustain itself as a backend technology and push the cloud-native style of application development. Spring supports almost everything from AWS to GCP, from Kubernetes to Kafka, everything. Think of it as Iron man’s armor which just keeps on improving itself with time. It became so popular that in 2018, Netflix announced it will move all of its java-based services to Spring Boot Environment.
Below is Spring’s story at Netflix in a nutshell:
- Netflix started using Spring for most of its Java-based services
- As Netflix started scaling, it needed more and more features from Spring
- Limited by community support, Netflix started creating spring libraries internally like Hystrix, Governator, etc.
- In 2012, Netflix announced their codebase to go open source
- Spring (already open sourced) benefited from this and all the cloud relevant libraries were also added to Spring environments
- In 2018, Netflix announced they will move all their core Java services to Spring Boot (a better version of Spring) as it has now surpassed Netflix’s use cases and is much more powerful as a platform
This union of two giants resulted in a much more powerful Spring environment and consequently much more relevant Java.
Not only this, Java being the only platform-independent language in the 1990s, was the only one that found its foot deep into mainframes at giants like IBM. And hence, it is still the most used language at the enterprise level. In other words:
It’s not the features, it’s the legacy that makes Java still relevant.
But if everything’s going so well, why are we even discussing this?
Below are the results from Stack Overflow Developer Survey 2021:
All I did was supply a demand that was pretty popular — Al Capone
Java’s large-scale popularity, beginner friendliness, and huge developer community have resulted in an abundant supply of Java engineers. But, new businesses and companies do have a fair amount of options when it comes to choosing a technology stack. Spring framework, the one keeping Java alive, is in itself is just the tip of the iceberg. Software today has a lot more moving parts than a Java service. And, it doesn’t take a genius to deduce Java has low demands in the market. The above image shows Java is almost at the bottom of the list when it comes to Top paying technologies.
People think of software engineers as computer geniuses who can pretty much do anything related to a computer. It is partially true that some people are, but for most of them, it’s a story of knowing the right thing at the right time. Disagree? Think of how much you would get paid if you knew Java back in the early 2000. For the same reason, people are running after Python, Cloud, Big Data, React, or whichever tech is “hot” these days.
To sum it all up, No Java is not dying, at least not yet. But, the question we should be asking: is it enough?