This a common saying in today’s tech-driven world. Every industry is fundamentally changed by technology, and business leaders are making it the focal point of their companies.
At the heart of these technologies are programming languages. Never have developers been more important to progress, and programming languages are their superpower.
That’s why we are looking at the most popular and influential programming languages for 2018. For aspiring programmers, consider this your course list. For current developers, it is a chance to enhance your skills and make yourself invaluable for the next decade.
There are hundreds of metrics to look at when considering the top programming languages, but we focused on a few of the most authoritative:
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.
As the world’s largest job search engine, Indeed represents a good measurement of the most in-demand programming jobs. We looked at the number of job openings for the top 50 programming languages on the Tiobe Index.
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 cite their metric “Pull Requests Opened” as another indicator of language popularity.
In this article, we also attempt to predict the future of programming languages. We use a wide variety of resources to predict the fastest growing languages, the most influential languages, and the language that is most likely to lose popularity (this one will surprise you!). 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 2018, and predictions about the future of code.
The graph above shows the top 20 most popular programming languages as of December 2017. The Tiobe Index works like market share; the percentage is the amount of “market share” a language holds. All of the languages combined total 100%.
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.
This graph charts the most in-demand jobs according to Indeed.com. We took the 50 most popular languages from the Tiobe Index and searched for “(“Language name”) Developer”. We put the name of the language in quotes to make our results more accurate.
It makes sense that the most popular languages have the most job openings. However, it’s interesting to see less popular languages, like Apex (Salesforce native language), in the top 20. This might indicate an upward trend in popularity for these languages.
The Github Year in Review gives us the top 15 pull requests from their community. Pull requests are an indicator of the amount of code being written.
In 2017, Python overtook Java as the second most popular language by pull requests. More on Python’s rise in a bit.
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-90’s. 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 is 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.
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 is 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 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. It’s 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.
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 2018 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 at 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.
2017 was a big year for Kotlin, the statically-typed programming language from JetBrains. On top of receiving loads of good press, 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, it’s the 3rd most popular development platform behind Windows desktop and Linux, according to StackOverflow.
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.
I also asked Ehrlich about languages that he thinks will start to lose significance in 2018.
This article is a re-post from Stackify.