If you’re a software developer, then you probably—every now and then—feel overwhelmed by the super-fast pace at which our industry evolves, and that’s fine. I certainly feel that way sometimes, especially when trying to keep up with the latest trends.
But it’s possible to be well-informed about what’s going on out there, and use that information to your advantage, by being economical about your learning.
Do you need to learn all of them? Of course not.
First, learn about a number of the most popular programming languages. Then, narrow that list down, by picking the ones that make the most sense for your current knowledge level, employment status and other criteria that might make sense for your scenario.
For instance, if you intend to learn the functional paradigm, then pick a functional language from the list. Rinse and repeat.
That’s what this post is about. We’ve done the legwork for you, compiling a list of five of the most popular programming languages for 2019. Now you only have to read it and put it to good use.
A Look At Our Sources
You might be wondering where have we found our data for this post. There are hundreds of metrics to look at when considering the top programming languages, but we focused on a few of the most authoritative, namely Tiobe and GitHub.
For decades, Tiobe (the software quality company) has generated an index of the most popular programming languages. They update this list monthly, pulling in data from hundreds of sources around the world.
For more on how the Tiobe Index is calculated, see here.
GitHub is one of the largest code repositories in use today. Every year they create a Year in Review report, sharing statistics about their programmer community. We use this data as another indicator of language popularity.
In this post, we also attempt to predict the future of programming languages.
We use a wide variety of resources to predict the fastest growing languages and the most influential languages. Of course, all of these insights are up for debate, but they are worth considering if you want to stay ahead of the curve.
Let’s get into it. Below are the most popular programming languages of 2019, and predictions about the future of code.
The table above shows the top 20 most popular programming languages as of August 2019. The Tiobe Index works like market share; the percentage is the amount of “market share” a language holds.
Tiobe factors in variables like the number of professional developers worldwide, training courses, and third-party vendors.
Most of this information comes from analyzing search engine results. Here is an explanation of how the Tiobe Index is produced.
Last, but not least, we take data from The GitHub Year in Review—which is a report published annually by GitHub.
Using the data from GitHub we can see not only the most used languages on the platform during the year, but also the ones which are growing the fastest.
The chart above shows GitHub’s top languages over time.
What makes the top programming languages so popular? We’ll take a deeper look at five of the top languages to learn how they’re used and why people love them.
According to Tiobe, Java has been the number 1 or 2 most popular language basically since its creation in the mid-90s. Many of the world’s biggest companies use Java to build desktop apps and backend web systems.
If you know Java, chances are you won’t be desperate for work!
There are a number of factors that make Java so popular:
- Portability: Thanks to the platform-agnostic Java Virtual Machine (JVM), Java can run on nearly every system. Java is also the most popular Android language, so the vast majority of Android apps are built in Java.
- Scalability: James Governor has a saying: “When web companies grow up, they become Java shops”.Java is built for scalability in mind, which is why it is so popular among enterprises and scaling startups (Twitter moved from Ruby to Java for scaling purposes). Since Java is a statically-typed language, it’s faster and easier to maintain with less bugs. It is also backwards compatible, which means old versions of the language will still run perfectly even after new versions are released. This is a big relief for businesses who would otherwise worry about rewriting their code every time a new version comes out.
- Large community: The popularity of Java helps to ensure its future popularity, thanks to a huge community of users. With massive Stack Overflow and GitHub communities, developers can find help on virtually any problem they might encounter. Coupled with its portability, developers know that investing in Java will pay dividends for a long, long time.
If you’re a Java developer, check out the Stackify Retrace and Prefix tools so you know exactly what’s going on with your code. If you’re still learning, check out some of the web’s best Java courses here.
2. The C Programming Language
C is one of the oldest, most popular programming languages, thanks to its near universal portability and early adoption by Tech’s biggest brands, including Microsoft, Apple, Linux, and Oracle.
C is also the most popular language for embedded systems in cars, electronics, and other devices.
Nearly everything that we touch today, from our cell phones to alarm clocks, is influenced by—if not directly written in—the C language.
Why is it still a popular programming language to learn today? First, it’s essentially a portable assembly language. It works with nearly every system and operates about as low to the machine as you can get.
C also has features that make is perfectly qualified for operating systems and embedded systems (like your car’s dashboard). Thanks to its relatively small runtime, C is perfect for keeping these systems lean.
Any programmer will benefit from learning the C language.
Many algorithms written and shared online are done in C. It’s essentially the “universal language” of programming languages. C spinoffs like C++ and C# are also among the top 5 most popular languages, again emphasizing the influence C still has today.
The popularity of Python has risen steadily over the past 15 years, finally breaking the top 5 on the Tiobe Index a few years ago. This is because Python is a major language in some of the most exciting technologies today.
Machine learning, artificial intelligence (AI), Big Data, and Robotics all rely heavily on Python (Robotics also relies on C for its use in systems programming). Cyber Security, one of the top software challenges of our time, is also driven by Python.
It’s surprising how simple Python is to learn.
It’s now the most popular introductory language taught in universities and often picked up by experienced developers as a second or third language.
Ruby is one of the most popular languages among tech startups.
Many Silicon Valley unicorns have been built on Ruby, including Airbnb, Twitch, GitHub, and Twitter. Its popularity is bolstered (and perhaps dependent) on Ruby on Rails, a full-stack web application framework that runs Ruby.
Ruby is beloved by developers for a number of reasons.
- First, Ruby has an incredibly simple beautiful syntax that allows a developer to do more with less code.
- Second, thanks to Ruby on Rails, getting a web application up-and-running takes less time than in other frameworks.
This explains why startups are so fond of the language: it enables the famous startup mantra, “move fast and break things.”
The downside of Ruby is its scalability.
Ruby is a dynamically-typed language, which makes it very flexible and great for prototypes, but difficult to maintain at scale. As a Ruby app grows, the dynamic nature of the language obscures the source of code errors and eats up computing resources. This is why Twitter switched from Ruby to Java.
2020 Programming Language Predictions
Now that we’ve looked at the most popular programming languages right now, we’re going to take the liberty of predicting what’s to come in 2020 and beyond.
Based on trends from previous years, we’re confident that the list of top programming languages won’t change that much from year-to-year.
But where are the winds headed? Let’s try to take a glimpse into the future.
Tiobe will crown a new Language of the Year in the next few weeks, but their website says the candidates are Kotlin and C. It’s an interesting dichotomy with C being of the oldest languages (1987) and Kotlin being one of the newest (2011).
Let’s look at each language.
The couple last years have been great for Kotlin, the statically-typed programming language from JetBrains.
On top of receiving loads of good press, in 2017 Kotlin was also named an official development language for the Android platform.
This is an enormous boost; not only is Android the most popular mobile development platform, but it’s also the 3rd most popular development platform behind Windows desktop and Linux, according to StackOverflow.
And, as you can see in the image above, GitHub’s report indicates that Kotlin was the fastest growing language in 2018.
There are several reasons for Kotlin’s rise in popularity, not least of which is its 100-percent interoperability with Java and the fact that IT runs on Java Virtual Machine (Java is another official Android language).
Expect to hear a lot more about Kotlin in the years to come, and if possible, take some time to add it to your repertoire (it’s surprisingly simple).
The C Programming Language
We’ve already discussed why C practically runs the world, but what’s behind this latest boost in popularity?
Like we mentioned earlier, C is the perfect language for embedded systems, and frankly, everything is becoming an embedded system these days.
C is one of the top programming languages for IoT devices, including wearables and car dashboards. As more products become “smart”, we’ll see C’s use continue to expand.
The popularity of a programming language is one thing, but which languages will have the greatest influence in the years to come?
One way to determine whether a language is “influential” is to look at the technologies built on top of it (see Python and C).
Another way is to look at a language’s ability to solve intrinsic software problems. For the sake of treading new ground, let’s focus on the latter definition.
I turned to Jake Ehrlich, a software engineer and programming language enthusiast, for his thoughts on the most influential programming languages.
“Individual problems tend to be more influential than any one specific language,” said Ehrlich. “Right now the biggest problem we’re facing is end of Moore’s law.”
Moore’s Law says that computing power will double every 18 months, and for the first time in decades, computer chip makers are not keeping pace. That means software developers need to figure out a way to make powerful web applications with the same amount of computing processing power.
Another hardware issue Ehrlich references is power consumption.
“Batteries just aren’t getting better,” said Ehrlich, despite the fact that more and more of our devices run on them. “So now we need to make hardware and software that is as power-efficient as possible.”
One solution to both of these challenges, Ehrlich suggests, is the use of native languages. “It turns out that the same sort of features that improve speed and responsiveness also allow us to write more power-efficient code.”
Ehrlich thinks we will see a move towards native languages like Go, Swift, Rust as hardware attempts to catch up.
The world’s biggest challenges and opportunities are driven by programming languages discussed in this article.
While this post is all about the code, it is really an ode to the people who create that code day-in and day-out. From machine learning to cybersecurity and web apps to battery power, these technologies will only go as far as software developers take them.
Try Stackify’s free code profiler, Prefix, to write better code on your workstation. Prefix works with .NET, Java, PHP, Node.js, Ruby, and Python.
Want to learn more about the most popular languages? Here are a few resources to get you started:
- Software Trends for 2020: Continuous Delivery - February 19, 2020
- 6 Software Development Trends for 2020: Developers Needed - February 12, 2020
- Kubernetes as a Service: Implementing KaaS - January 8, 2020
- Top Server Monitoring Tools for the New Year - January 2, 2020
- How Kubernetes Can Improve Your CI/CD Pipeline - December 1, 2019