Most Popular Programming Languages in 2018

Every Company is a Technology Company.

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:

Tiobe Programming Index

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.

Indeed.com

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

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.

Most Popular Programming Languages

Graph of top programming languages 2017 from Tiobe Index

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.

Graph of Indeed Job Openings by Language

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.

Most pull requests 2017 via GitHub

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.

According to OSS-Watch, “A pull request is a method of submitting contributions to an open development project.” Javascript has a massive footprint on GitHub, with more than twice the number of pull requests than the second-leading language.

In 2017, Python overtook Java as the second most popular language by pull requests. More on Python’s rise in a bit.

The Top Programming Languages, Explained

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.

Java reigns supreme

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:

  1. 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.
  2. 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.
  3. 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.

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 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.

Long term history of programming languages

Python is on the rise

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.

JavaScript continues to dominate

Thanks to the ubiquity of web browsers, JavaScript has become one of the most popular programming languages in the world, and number 1 on GitHub in terms of pull requests. There are notable complaints with JavaScript (more on that in a bit), but JavaScript has held its own against newer languages and will continue to play a significant role on the web.

JavaScript allows developers to add interactive effects to web pages. It often works alongside HTML, but it’s becoming more common for web apps to be built entirely in JavaScript. Because of its simplicity and speed, more startups and tech businesses are starting to use JavaScript on the backend via the Node.js framework.

Ruby is a startup favorite

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.

Twitter Headquarters Building

“Twitter was originally built using Ruby, but switched to Java so they could scale more easily”. Photo by Aaron Durand

2018 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 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.

Fastest-growing languages

Every year, the Tiobe Index crowns the fastest growing language as “Language of the Year”. Recent winners have been Go (2016), Java (2015), and JavaScript (2014).

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.

Kotlin

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.

There are several reasons for Kotlin’s rise in popularity, not least of which is its 100% interoperability with Java and the fact that is runs on Java Virtual Machine (Java is another official Android language). Kotlin also compiles down into JavaScript, making it extremely versatile for both front and backend development. 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 is 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.


Most influential programming languages

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.

Web Assembly Graphic

“WebAssembly gives developers more choices for the web, potentially hurting JavaScript’s significance.”

JavaScript losing significance?

I also asked Ehrlich about languages that he thinks will start to lose significance in 2018.

“Oh, this one is easy,” he said. “JavaScript.”

Javascript has risen to biblical levels of popularity over the last few years, so it’s easy to say the language’s trajectory has nowhere to go but down.

But there are other factors stacking up against JavaScript. First, said Ehrlich, the improvement of WebAssembly is giving developers more language choices on the web.

“Soon many languages are going to have WebAssembly backends,” said Erhlich. “After that JavaScript will start to die because people will be using their preferred language for client-side web development.”

Despite the rise of JavaScript used on the backend, there are not many major pieces of software built on JavaScript. “Unlike C, C++, Java, C#, PHP, … there won’t be as much legacy to keep alive,” said Ehrlich.

Coupled with the fact that JavaScript is confusing to use, it will not be surprising to see developers jumping ship once better web options become available.

This article is a re-post from Stackify.