





Welcome to IEEE Spectrum’s sixth annual interactive ranking of the top programming languages.

This year they've done a major overhaul and changed some of the most underlying metrics, and built a new streamlined interface.

But, the basic idea and methodology still remain the same: combining data from multiple sources to rank the popularity of the languages that are used for the type of coding you are interested in.

They took the approach to get around the two main fundamental obstacles to all attempts in order to determine the popularity of languages:

No one can look over the shoulder of every programmer around the world as they tap away at the keyboard A language that is the cornerstone of a particular programming domain could be tremendously irrelevant in another

Spectrum gets data from 11 metrics from 8 sources, and there are good proxies for popularity. Then, they combined the results in an app that lets them filter languages and adjust the importance of each metric.

The upshot is the ranking that's right for you.

Note: As a part of this overhaul, they've retired two metrics that were used previously because they didn't think they were providing good quality data. They also incorporated data from the IEEE Job Site and added some new languages like Dart.

But of course, they've also got some preset weightings built in that are optimized mainly for job seekers, for instance, or programmers interested in having an open-source side project.

The default weighting is optimized for the usual Spectrum reader, so without further ado let's see the list of the top languages of 2019.







Even though there are changes in the underlying metrics, the results remain similar – Python stands firmly on top.









Python's popularity is driven in no small part by the vast number of specialized libraries available to use. Particularly in the area of artificial intelligence, where the Keras library is a heavyweight among deep-learning programmers.

Keras provides an interface to the TensorFlow, CNTK, and Theano deep-learning frameworks and tool kits. Deep learning isn’t the only area where Python is having an impact that could not have been anticipated when the language was first released back in 1991. The tremendously dramatic increase in computing power found in microcontrollers means that embedded versions of Python, such as CircuitPython and MicroPython, are becoming increasingly famous among makers

Next up are Java, C, and C++. A group whose members have long bumped with one another and Python for the top spot. Although with the adjusted metrics, the distance between these languages has widened – with C coming in with 12.5 points below Python.

The number-crunching language R made the top-5 list. Despite it being a more specialized language than the others, it's kept maintaining its popularity due to the world being awash in an ever-growing pile of big data.

Moving further below, the presence of MatLab – a language developed by MathWorks and intended purely for numerical computering- might come as a shock to some. But, it simply reflects the language's prominence in hardware engineering, especially to those interested in running simulations.

Further below the top 10, some item of note includes Arduino at the 11th spot and HTML/CSS at the 12th.In previous years, many programmers complained neither one of them should make the list of programming languages.







In the case of Arduino, the main argument was the there is no such language and that “Arduino” is the name of the family of hardware platforms on which the language runs. There were suggestions that the language should be called Wiring.

In this, we are led by simple pragmatism: When faced with a programming question, the majority of Arduino developers search Google with the query “Arduino code for…” rather than any other alternative. By choosing the de facto name, we can avoid deeply discounting the popularity of programs written exclusively for the Arduino and other microcontrollers.

Another pragmatism we engage is when it comes to HTML, with the objection that it's not a real programming language because it doesn't have branching or loop constructions. But, given the huge popularity and use of HTML and CSS, and also the fact that it's used to instruct millions of computers daily, we feel that any academic argument about Turing completeness and so on are beside the point. A markup language is still a language.

Finally, some rather older languages are still alive and kicking. Especially, despite being more than 60 years old, Fortran still comes at the 38th spot – most likely due to the enormous legacy power of being the original scientific programming language. The language is still under active development, and there has been a release of the Fortran standard by the end of 2018, which improved interoperability with C and improved the support for massively parallel computations.

JavaScript is very easy to learn, and it follows ECMA script standards along with some of its own additional features not present in that standard. The difference between JS and C# is that JavaScript is a scripting language, while C# is an object-oriented programming language. Additionally, JS is dynamically typed while C# is statically typed. And last but not least, JS doesn't need compiling, it runs in the browser. On the other hand, C# needs to be compiled.













Matlab positioned above Swift for some particular reasons, such as the fact that Matlab can analyze data, develop algorithms and create models and applications. The language tools and math functions that are built-in allow you to explore multiple approaches and find a solution faster than with the traditional programming language such as C++ or Java.

Last updated: 09.09.2019, 00:02