It may take a while, but over time the popularity of various programming languages does rise and fall significantly. That’s why New Relic takes the time to survey the programming language landscape annually, checking up on enduring favorites and keeping an eye out for emerging trends. We look at a variety of metrics and sources, ranging from job listings to activity on developer forums.
Microservices tilt the landscape
Another driving force behind these trends is the growing adoption of a microservices architecture. “Eight years ago, monolithic programs were popular,” says Neha Duggal, product manager for New Relic APM. “Now people are moving toward microservices, breaking down the notion of an application into manageable pieces.” This has spurred interest in a lot of different programming languages, including newer languages like Scala, Kotlin, and Apache Groovy that run on a Java Virtual Machine (JVM). Microservices normally use asynchronous communications, Neha says, and the newer languages often handle such communications better than Java itself. The trend is further reinforced by the growing popularity of frameworks like Eclipse Vert.x, which let you use any JVM-based language.
Which programming languages do employers want?
With that in mind, let’s take a closer look at the programming language skills employers are searching for right now. We asked job-search site Indeed to extract the language skills most often appearing in job postings for software development roles from July 2016 through June 2017. We also looked at IEEE Spectrum’s listing of the languages most in demand in the June 2017 listings on the Dice and CareerBuilder job sites:
Java tops both lists, and “Java continues to be the most in-demand programming language, year over year,” notes Doug Gray, Indeed’s senior vice president of engineering. “This is not surprising, as Java is stable and great for scaling, which is especially important with larger companies.”
Just because the top 10 languages are pretty well established, however, doesn’t mean the landscape is frozen. “R and Python are on the rise with the convergence of IoT and Machine Learning,” observes Kellet Atkinson, director of marketing for developer community provider DZone.com. “‘Big Data’ is the top search term on our job board, and Python is in the top five languages being written about.” The IEEE rankings identify Python as the language growing most rapidly, with R coming in at #8.
What programming languages do coders use?
To see what languages developers are most interested in using, let’s look at RedMonk’s Programming Language Rankings, which draw on code-pulls from GitHub combined with discussions on Stack Overflow. In addition, Stack Overflow conducts its own Developer Survey of what developers are actually using:
What programming languages do coders like?
More interesting, perhaps, is what languages developers actually prefer. According to Todd West, a Lead Software Engineer at New Relic, engineers tend to favor the languages they happened to learn first, as well as those that are easy to use and offer both cutting-edge innovation and fast performance. Stack Overflow addresses this issue with an annual survey of the most-loved, most-wanted, and most-dreaded languages:
What programming languages are on the rise?
As CEO of coding bootcamp Bloc, Roshan Choxi pays attention to what developers are talking about on forums like Hacker News and Reddit’s r/programming, as well as what incoming students show interest in. “The one new trend that stands out from the past year is the increasing influence of functional programming,” he says, referring to languages like Haskell, Erlang, Elixir, Elm, and Clojure. (Some of those choices show up in the lists above.)
Polyglot programming still a winner
Another trend we identified last year is still going strong: working with more than one language, as individual polyglot programmers and/or organizations leverage different languages for different purposes. “We are increasingly seeing organizations using more than one language in their ecosystem,” says New Relic’s Neha Duggal. “You might have different teams writing microservices, and each team can pick a language they’re comfortable using for that service.”
DZone’s Kellet Atkinson has noticed the same thing: “With the push towards DevOps, there has been a swell in the idea of the ‘full-stack developer’ who knows multiple languages.” DZone launched a job board a couple of months ago, he adds, and “a lot of the jobs are asking for full-stack developers, and a lot of people in our audience are trending toward considering themselves full-stack developers.”
What does it all mean?
At first glance, it may seem like little has changed in the world of programming languages over the past year. But don’t let the fact that familiar players still dominate the top of the popularity, usage, and desirability charts obscure the fact that newer languages and growing trends are now significantly affecting the choices made by individual programmers and software development teams.
Check out our earlier iterations of this popular annual post:
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.