Software

Why it's still worth it to learn Java

Java may be relatively old, but the programming language mainstay can still give developers a leg up on the competition for enterprise jobs.

Python and Go may get all of the hype, but Java is still potentially the smartest language for developers seeking a new job to learn right now.

Despite being more than 20 years old, Java remains an enterprise mainstay: The programming language currently tops the TIOBE Programming Community index, and Java developers saw some of the fastest-growing salaries in the US in 2018, according to Glassdoor.

"Developers built many mission critical systems in Java over the past 20 years, and they are still going strong," said Forrester vice president and principal analyst Jeff Hammond. "These systems have become so embedded in the fabric of firms' digital business that there's little chance of them going away for the foreseeable future."

SEE: Job description: Java developer (Tech Pro Research)

Java's success in the enterprise has created ongoing demand for developers who know it, particularly for backend infrastructure and systems of record, he added.

"Over the last few years there have been some concerns with Java around whether it's the right language for the cloud and IoT, and whether it is actually evolving quickly enough," said Mark Little, vice president of engineering at Red Hat. "Oracle has tried to move it a bit quicker, but perhaps not as quick as some people in the developer community would like. That is some ways has been the genesis of other language like Golang and even more popularity around JavaScript."

Some developers have discussed whether or not they should move away from Java because of some of these issues, Little said.

"Like it or not, Java has been around for well over a decade, and has been used very extensively in a lot of environments," Little said. "If people do decide they want to move to a new language, we've seen this before. When Java came on the scene there were lots of good implementations of capabilities in C and C++ and even COBOL. Java was the new shiny thing. It often meant that people spent the next five years debugging new bugs, whereas perhaps they didn't need to do that if they stayed with what they were working on that was already fairly mature and worked extremely well for them."

Why developers should prioritize Java

For middle and back end developers, Java is the language to prioritize, Little said. And front end developers also typically know at least some Java because they need to integrate with it at some point, he added.

"Java is a very good workhorse—it's an excellent general programming language, and it's extremely mature and reliable," Little said. "The maturity and reliability are things developers need to understand, and that people who are going to be hiring those developers need to take into account."

SEE: IT Hiring Kit: Programmer (Tech Pro Research)

Java also has so many third-party applications and libraries, particularly in open source, that developers can leverage to build applications. "You don't have to think about starting from scratch, whereas some new languages are pretty much where Java was back in the '90s—there's the language, but if you want to augment the language with utilities, you're probably going to have to write them yourself to start with because the communities just aren't there," Little said. Java has a worldwide developer community of millions of people, he added.

Today's developers tend to be more multi-lingual than those from 10 years ago, Hammond said. Java should be one of a handful of languages a modern developer knows, especially if they work on back end infrastructure, he added.

"I also think it's useful for developers to understand both classic, statically compiled object-oriented languages and dynamic languages," Hammond said. "Java fits the bill nicely for the former. Combine it with a knowledge Javascript or Python or Ruby and they make picking up additional languages easier from there on."

One element Forrester analysts are watching is how developers who have dependencies on Java in their applications and products transition to support for OpenJDK in Java 11 and later, Hammond said.

"We see many enterprise shops and independent solution vendors that seem to be unprepared for the end of public, free support for Java 8 by Oracle with Java SE. These shops also seem to be slow to adapt to the new, faster release cadence for Java," he added. "While faster releases should be good for the language in the long run, it also means that Java shops will need to increase their level of DevOps and test automation to keep up with the latest versions."

Also see

istock-950851170.jpg
Image: iStockphoto/SeventyFour

About Alison DeNisco Rayome

Alison DeNisco Rayome is a Senior Editor for TechRepublic. She covers CXO, cybersecurity, and the convergence of tech and the workplace.

Editor's Picks

Free Newsletters, In your Inbox