Java is still one of the most popular coding languages for developers, but drops in the job market and slow growth mean it may need to evolve for use cases like machine learning and IoT.
Java may be ready for a new beginning after spending the past two decades as a general purpose programming language mainstay. While it remains one of the most popular programming languages in use today, its demand in the enterprise has diminished in recent years, and other languages are beginning to outpace it in terms of growth.
"Java is at a bit of a crossroads," said Forrester vice president and principal analyst Jeffrey Hammond. While it's still one of the five most popular programming languages used by developers, a push toward microservice-based architectures are making alternatives like Node.js or Go appealing, he added.
SEE: Job description: Java developer (Tech Pro Research)
Java is used most often in cloud computing, data science work, web development, and app development, said Karen Panetta, IEEE fellow and dean of graduate engineering at Tufts University.
"I still see it evolving, and very popular," Panetta said. While languages such as Python are growing as well, Java is adapting to the increasing number of deep learning and machine learning workloads. "There's becoming a lot of libraries out there that are compatible for deep learning," Panetta said. "I think the fact that we keep talking about cloud computing and all of those things, that Java is still going to be the dominant player."
Java also has built in more security options than Python, so it's a good option for Internet of Things (IoT) applications, Panetta said.
Java has a foothold everywhere, and large user groups and libraries already written, making it a natural pathway for machine learning, Panetta said. "It's evolving to meet the needs," she added. "It's always been valuable because of its cross-platform functionality. But now it's becoming even more valuable because it's also built up this repository of really solid usable free software that's out there. So you can jump into any big, giant project you want because most of it's already written for you. You just put the pieces together."
Indeed, if you search GitHub for "machine learning," you'll find 2,915 Java repository results.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
The future of Java
And despite drops in job postings, Java is also still one of the top languages businesses look for when hiring developers, Panetta said. "Businesses are recognizing they need to move into deep learning and artificial intelligence, and Java is the key language they are using right now to do that," Panetta said. Java was the language that saw the biggest rise in demand from businesses in the UK and Ireland during the second half of 2017, according to Stack Overflow.
In the future, Java will likely continue to be used as the basis for infrastructure and microservice development, Hammond said. It will also likely move to the cloud, along with most workloads.
"I think you'll continue to see new developers learn Java, but I think that it will also have to really continue to focus on coexistence with other programming languages and technologies as they continue to grow as well," Hammond said. "The most important thing is that Java is changing, and it's starting to pick up innovation speed again."
- How to build a successful developer career (free PDF) (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- Which programming languages are most popular (and what does that even mean)? (ZDNet)
- The death of Ruby? Developers should learn these languages instead (TechRepublic)
- How to become a Unity developer for VR and AR (TechRepublic)
- Programming languages: Python is hottest, but Go and Swift are rising (ZDNet)
- The 5 worst programming languages to learn in 2018 (TechRepublic)