Most Popular and Influential Programming Languages of 2018


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.

Let’s get into it. Below are the most popular programming languages of 2017, 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.

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.


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.

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.


Want to learn more about the most popular languages? Here are a few resources to get you started:


Java

C

Learn-c.org
The C Programming Language, Second Edition by Brian Kernighan and Dennis Richie

C++

Python

C#

JavaScript

Comments

Popular posts from this blog

What Self-Awareness Really Is (and How to Cultivate It)

Как я сдавал ISTQB Advanced Level

5 Best Python Frameworks for WebView Testing

Собеседование "по другую сторону": опыт поиска Junior QA Engineer