If you’ve spent any time in the development world, you’re well aware that there are hordes of programming languages. It’s impossible to be an expert in every programming language in existence, but it’s also hard to determine where your time is best spent in terms of acquiring new skills.
You may ask yourself, “What are the trendiest programming languages? What expertise are employers looking for today? What languages are developers most interested in learning? And what languages are being used most often?”
In an effort to gain some insight into these and other burning questions on developers’ minds, we took a deep-dive into a bunch of data to get some answers. In this guide, we’ll delve into:
- The Most-Used Programming Languages
- The Most Sought-After Programming Languages
- Most-Loved Languages vs. Indeed Job Listings
- Most-Popular Languages vs. Indeed Job Listings
- Trends in Related Technologies and Methodologies
- Programming Language Trends Based on Search Volume
Most-Used Programming Languages
To find out what programming languages are most used today, we looked at GitHub pushes. Not surprisingly, a lot of legacy languages top this list. Here are the top 20 programming languages by total GitHub pushes:
That doesn’t really give us a clear picture, though, because naturally the languages that have been around the longest have a greater likelihood of having more pushes. We also took a look at the languages with the most active repositories in GitHub, with similar findings:
By comparison, you can easily see that Java is trending downward slightly over the same five-year period. In fact, search interest for Java hasn’t peaked since February 2004, as you can see from this Google Trends chart illustrating search trends from 2004 to present:
Want to learn Java? Check out these tutorials and courses:
But what about SQL? According to StackOverflow’s survey, it’s the second most-used language among developers, with 49.1 percent of respondents reporting that they use SQL technology. Interestingly, SQL doesn’t land in the top 20 for active respositories or GitHub pushes. But as SitePoint reports, it lands solidly in the #10 spot among the programming languages most-dreaded among developers, with 60.3 percent of respondents to StackOverflow’s survey reporting that they’re not huge fans of SQL.
Search volume peaked for SQL around March 2012 according to Google Trends data, and so far in 2017, it’s hovering at around 80 to 85 percent of that peak search volume:
Want to learn SQL? Check out these learning resources:
Most Sought-After Programming Languages
Knowing the programming languages that are most used is one thing, but if you’re a developer or programmer looking to enhance your skillset, it’s worth knowing what languages are the most in-demand among employers. We searched Indeed for the top 20 on the most-used programming languages lists above (based on GitHub pushes and active repositories) to find out which among them are the most wanted skills by employers. We also threw SQL in the mix given that it’s the second most-used language per StackOverflow’s data.
Based on job listings on Indeed as of March 2017, here are the top 10 programming languages currently in demand among companies seeking developer talent:
As mentioned previously, SQL continues to be in pretty high demand by employers despite developers not being overly enthusiastic about the technology. Conspicuously missing from the above list, however, is Ruby, another legacy programming language that’s been around since 1995. Ruby had a spike in interest in December 2016 per Google Trends, as you can see in the chart below illustrating 5-year search volume trends:
While Ruby doesn’t make the top 10 among the most sought-after languages by employers on Indeed, at the time of this writing, there are 2,692 job post results based on a search for “Ruby developer.” It seems the surge in search interest is shared by employers, as Hacker Earth reported in November 2016 that there were 2,136 jobs posted for Ruby developers (based on jobs listed with the language keyword), which marks an increase of 556 new jobs in four-month period, or a 26 percent increase. Our verdict? Ruby is one to watch throughout 2017.
Want to learn Ruby? Here are a few informative tutorials and other resources:
Because there seems to be some discrepancy between the languages developers enjoy and employer demand, we thought we’d take a look at StackOverflow’s most-popular and most-loved languages lists and compare those results directly to the current number of job postings for each language on Indeed.
Most-Loved Languages vs. Indeed Job Listings
Most-Popular Languages vs. Indeed Job Listings
The takeaway: If you love Rust, F#, Clojure, or Haskell, you’ll probably be hard-pressed to find a job allowing you to focus on one of those languages – at least based on current hiring trends. But that may change if Google Trends data is any indication.
Here’s a look at Google Trends data for Rust over a five-year period:
As you can see, Rust has some strong growing interest, particularly over the past three years, with interest peaking around May 2015.
Want to learn Rust? Check out these useful Rust learning resources:
F# also has some interesting Google Trends data:
Interest in F# has a lot of peaks and valleys, with the latest spike in interest in March 2017.
Want to learn F#? Check out these resources:
Clojure, on the other hand, saw its biggest spike in interest in early-to-mid 2014, with no other notable increases or trends over a five-year period:
Want to learn Clojure? Check out these resources:
And, finally, Haskell has a similar trend graph (comparable to Clojure) per Google Trends:
Want to learn Haskell? Check out these useful learning resources:
Trends in Related Technologies and Methodologies
While many programming languages remain pretty static over a period of several years overall, there are some pretty clear trends emerging on approaches and technologies such as Docker:
Learn more about Docker from these resources:
As well as Agile, although to a lesser extent:
So in addition to staying on top of the hottest, most sought-after programming languages, developers are also tasked with being up-to-speed on the latest trends in development methodologies and other approaches.
If you’re looking to hedge your bets on a well-liked language that’s not yet in high demand, though, we’d suggest putting your money on Rust. However, it’s worth noting that while a few of these most-loved programming languages don’t appear to be in high demand at the present time, jobs requiring expertise in F# and Clojure tend to pay handsomely. According to StackOverflow’s 2016 survey data, the top-paying technologies in the U.S. include:
Now, if you’re looking to learn a new programming language in 2017, both Usersnap and SimpleProgrammer.com have done their own data analysis and come up with their recommendations. According to Usersnap, the top programming languages to learn in 2017 include:
- Ruby on Rails
SimpleProgrammer.com has a slightly shorter list of recommendations, all of which also appear on Usersnap’s list:
Check out our article about C#: Why C# and .NET Core are the Next Big Thing
While Swift, Rust, and Elixir don’t land in the top 10 for earnings potential, there’s a good chance those skills will come in handy in the coming years. We’ve already looked at Google Trends data for Rust, so here’s a look at Swift and Elixir.
Interest in Swift peaked in mid-2014, but is recently on an upward trend:
Want to learn Swift? Check out these resources:
And Elixir, which doesn’t show up on any of our other lists based on our data analysis, has a bit of a spiky trend curve but is also on an upward trend, even hitting its peak interest in late February/early March 2017:
Want to learn Elixir? Check out these learning resources:
Programming Language Trends Based on Search Volume
It’s worth evaluating search volume data as another measure of interest. We looked up search volume for the top 20 programming languages and below we’ve illustrated a side-by-side comparison of search volume data against GitHub commits to compare the programming languages most actively used (GitHub commits) to the languages more people are learning about or interested in learning about (search volume). You can click here or click the image to enlarge:
Some key findings of note:
- C has the highest search volume and ranks second for the most GitHub commits, next to C++ which has about three million more commits but a much lower search volume (22,200 monthly searches for C vs. 4,400 searches for C++).
- C# also has a high number of commits (26,912,283) with a low search volume (1,000).
- Rust has few commits in light of its relatively high search volume, with 233,243 commits and 9,900 searches. This correlates with earlier findings: It’s well-liked by developers and there appears to be much interest in this language. However, there are few employers currently seeking developers with this skillset.
- Python lands securely in most of the lists in this guide, and according to PYPL, it’s the programming language with the highest growth over the last five years (7.6 percent). Over the same five-year period, PHP lost the most (a decrease of 4.9 percent).
- It’s worth watching R and Go. R has the fourth-highest search volume (9,900 – tied with Rust) and nearly 22 million GitHub commits. Go has more than 18,000 monthly searches and more than 18 million GitHub commits. Neither language lands in the top 10 based on Indeed job postings or StackOverflow’s survey findings for the most-used programming languages, but Go is well-liked among developers and there are currently more than 1,600 job postings on Indeed seeking developers with Go skills. Plus, it pays well in the U.S. with an average salary of about $105,000.
- Swift is a popular search term with 12,100 monthly searches, and as it’s a relatively new language (first appearing in GitHub in 2014), it doesn’t have nearly as many commits compared to legacy languages like CSS (796,000+ commits). There are more than 1,700 job postings on Indeed at the time of this writing seeking developers with Swift skills, and two other sources name Swift a top programming language to learn in 2017.
So what skills should you focus on acquiring as a developer in 2017? Of course, there’s tons of data out there. If you’ve ever worked with data, you know that you can slice it in hundreds of different ways. There’s no clear-cut answer, and it largely depends on the types of projects you want to work on and what your employer demands (or what you’re most interested in doing). And it’s a topic that most everyone has a personal opinion on, too – check out this Quora thread or this discussion on Reddit for a look at the many differing opinions on the subject.
Among the newer technologies (relative to the languages that have been around since the mid-1990s), Rust, first appearing on GitHub in 2010, is one to watch, along with Swift and Go. The good news in all of this is that some languages are here to stay for the foreseeable future, and others are sure to start making an impact as development needs and trends shift to keep up with the pace of technology – but there is nothing and no one stopping you from adding to your skillset anytime need or inspiration strikes.
For more insights and data deep-dives on the hottest programming languages, check out these resources:
- 10 Programming Languages You Should Learn Right Now
- The 15 Most Popular Computer Languages, According to the Facebook for Programmers
- The 2016 Top Programming Languages
- What Programming Languages Are Used Most on Weekends?
- The Big List of 256 Programming Languages
- Which Programming Language Should You Learn First? ʇdıɹɔsɐʌɐɾ :ɹǝʍsuɐ
- The Top 6 Programming Languages for IoT Projects
- The Top Weekend Programming Languages — Based on GitHub’s Activity
- The History of Programming Languages
- Programming Languages Influence Network
- The Most Popular Weekend Programming Languages
- 6 Top Programming Languages for Mobile Development
- The Next Big Programming Language You’ve Never Heard Of
- ASP.NET Interview Questions: Tips for Hiring ASP.NET Developers - October 6, 2017
- What is HockeyApp? How It Works, Key Features, and More - October 1, 2017
- PowerShell Commands Every Developer Should Know: 50+ Cmdlets for Getting Things Done, Monitoring Performance, Debugging - September 21, 2017
- What is Agile Methodology? How It Works, Best Practices, Tools - September 17, 2017
- What Are Software Metrics and How Can You Track Them? - September 16, 2017