The beginning of a new year is when one takes stock of things. In this article, the author uses four popular ranking schemes to arrive at the top ten programming languages of 2021.
The four most popular ranking schemes for programming languages are the TIOBE Index, the RedMonk Programming Language Rankings, the PYPL (PopularitY of Programming Language) Index, and the IEEE Spectrum Ranking of Programming Languages. I have used these to find out the 10 most popular programming languages in 2021. Five of the top 10 languages in all the four rankings are the same. These are: Java, C, C++, Python, and JavaScript. For the first time, C# and PHP are not in the top 10 list of one of the rankings, the IEEE Spectrum Ranking of Programming Languages. A modest 14th rank by PHP and a poor 23rd rank by C# in the IEEE Spectrum Ranking was indeed surprising. Along with PHP and C#, R programming language also has only three top 10 finishes in the four rankings. R is placed 13th in the RedMonk Programming Language ranking but has improved ratings in all the four rankings. TypeScript and Swift have two top 10 finishes. So, our top 10 list of popular programming languages for 2021 is the following:
- Java
- C
- C++
- Python
- JavaScript
- PHP
- C#
- R
- TypeScript
- Swift
From our top 10 list for 2019, Objective-C has been replaced by TypeScript in 2021. Notice that there is a parallel scripting language, also called Swift, but the one included in our top 10 list is Swift developed by Apple Inc. Also note that Visual Basic, Groovy, Ruby, CSS, Arduino language, Go, MATLAB, and Objective-C all have one top 10 finish each. Groovy is ranked 10th in the TIOBE Index but in two other rankings it is ranked 25th and 40th, and in a fourth ranking it couldn’t make it to the top 20. This clearly indicates how the individual biases by various ranking schemes can affect the final rank of a programming language, except maybe of the very popular programming languages like C, C++, Java, Python, etc.
The programming languages race: Winners and losers
Now let us see which programming languages are steadily becoming popular. Previously, in 2019, I had listed programming languages that showed a positive growth in all the four ranking schemes. There were just two — Python and JavaScript. This time the number has gone down further. The only programming language with a positive growth rate is Python. In fact, Python is one of the top three programming languages in all the four rankings. So, if you are learning programming in 2021 and want to make a career out of it, my suggestion is to learn Python. I don’t want to contradict myself but there could be a downside to learning Python too, as a large number of people will be learning this language. So we need to explore other options also. Though they do not have the support of a very large programming community like Python or JavaScript, I would like to mention two other programming languages from our top 10 list as winners — R and TypeScript. The popularity of these two programming languages has been steadily increasing over the years and they might become a permanent fixture in the top 10 list in all the programming language rankings in the near future itself. Figure 1 shows the logo of R and Figure 2 shows the logo of TypeScript. Unlike Python, which has a universal appeal, these two languages are restricted in their application domains. But I still believe you could make a decent career out of learning any one of these languages. Please don’t assume that I am in favour of learning a scripting language like TypeScript, or a language like R which is mostly used for statistical computing as a person’s first programming language. No! I am not. Python or C could be a suitable first programming language. But, at a later point, you could surely give R or TypeScript a try.
Now let us see which programming languages are steadily losing their ground. In 2019, after consulting all the four rankings, I opined that Ruby and Perl are going down in popularity. But I am not so pessimistic about Ruby now. As it is still ranked 7th, 11th, 15th, and 15th in the four rankings, I don’t have the courage to say any more that Ruby may not have a bright future. But I still am pessimistic about Perl. It is ranked 17th, 18th, 23rd, and 30th in the four rankings. Moreover, in October 2019, Perl 6 was officially renamed as Raku and is now considered a programming language that is independent of Perl (Perl 5). So, I believe that if anybody wants to learn Perl newly in 2021, they should consult an expert and make sure that they have made the right choice. Though ranked 8th, 11th, 18th, and 28th in the four rankings, I have doubts about the future of Objective-C also. The rising popularity of Swift, which is similar in spirit to Objective-C and targets the same audience — mostly Apple iOS and macOS developers – is the reason for my scepticism about the future of Objective-C. So, I believe, if somebody is going to learn this language afresh in 2021, they should consult an expert and check if learning Swift is more beneficial in the long run. Of course, I could be entirely wrong about Perl and Objective-C and might be eating my words, again, the next time I write about the popularity of programming languages.
The young contenders in the programming world revisited
In 2019, we had made a list of seven promising programming languages that were first released in the past decade and were listed in the top 50 in at least one of the four rankings. Two years have passed, and let us revisit these programming languages and see if they are as promising now as they were in 2019. The programming languages in the list then were Swift, Go, Rust, Kotlin, Julia, TypeScript, and Dart.
With the initial version released in June 2014 and being a permanent fixture in our top 10 list of popular programming languages for the years 2017, 2019, and 2021, there is no further need to justify the inclusion of Swift in this list. TypeScript, whose initial version was released in October 2012, has entered our top 10 list for the first time in 2021 and hence the inclusion in this list too is justified. With one top 10 and three other top 20 finishes in the four rankings, and an overall increase in the ratings in all the four rankings, Go (first released in November 2009) also remains a very promising programming language. Rust has three top 20 finishes and still looks promising. Kotlin also has three top 20 finishes. Though Dart has just one top 20 finish, it has two other top 25 finishes and the ratings are increasing, though marginally. With the support of Google, Dart might also become more relevant in the future. Julia also has one top 20 finish and two other top 25 finishes. But being mainly used for scientific computing and numerical analysis, Julia stands apart from the other promising languages and hence is still very significant.
Thus, all the languages in our 2019 list are still significant and popular. But Swift, TypeScript, and Go have clearly moved ahead of the pack. Now comes the important question: Are there any new programming languages that must be included in this list? Yes! There is one. Solidity, a blockchain programming language first proposed in August 2014, is ranked 48th in the TIOBE Index. With blockchain technologies like smart contracts becoming more popular, I believe Solidity will steadily improve its ranking in the coming years. Hence, the eight programming languages in our list of promising programming languages for the year 2021 are: Swift, TypeScript, Go, Rust, Kotlin, Dart, Julia and Solidity.
Programming languages which celebrated golden jubilee
C was first developed in 1972. In 2022, it will celebrate the golden jubilee of its service to mankind — an event worth celebrating. But do remember that there are even older programming languages in the world. Let us discuss a few of these that are still relevant today, and appear in the top 50 at least of any one of the programming language rankings, despite celebrating their golden jubilee of existence in the programming world. Of course, assembly language is one of the oldest languages that is still surviving. In fact, it has not only survived but is making an impact on the programming world even today. Wikipedia says assembly languages first appeared in 1949. Assembly languages are ranked 11th and 15th in two rankings. Notice that, even though machine languages predate assembly languages, they are not listed in any of the rankings. COBOL, which came into existence in 1959, is still ranked 26th, 31st, and 43rd in three rankings. Fortran, which came into existence in 1957, is ranked 25th and 30th in two rankings. A surprise entry in this list is Forth, first introduced in 1970. Though not very popular at any point in time, this language is ranked 47th in one of the rankings. I haven’t included Pascal in this list, because only Object Pascal, not as old as Pascal, is mentioned in the rankings. I also haven’t included Lisp in this list, because so many of the dialects of Lisp, like Racket, Scheme, Clojure, etc, are treated as independent programming languages and ranked separately. But do remember that this language, which came into existence in 1958, is still very influential. So, our list of golden jubilee celebrating influential programming languages includes assembly languages, COBOL, Fortran, and Forth.
Now, let us also discuss certain programming languages that are extinct despite holding a lot of promise in their time. By extinct, I only mean that I couldn’t find them in the top 50 in any of the rankings. Remember, the programming languages mentioned in this list are still relevant historically. The first language that comes to my mind is ALGOL, which came into existence in 1958 and is not important any more. Simula, which was released in 1962 and had influenced the development of object-oriented programming languages like C++, no longer plays any important role in the programming world. PL/I (Programming Language One), developed by IBM in 1964, was once used widely but that’s not so any more. APL, which came into existence in 1966, was a promising programming language once, but is almost extinct now. Since Object Pascal is mentioned in two rankings, I haven’t included Pascal in this list. So, our final list of once prominent but now extinct programming languages includes ALGOL, Simula, PL/I, and APL. But I am certain that I have failed to include quite a number of influential languages in this list.
The Stack Overflow Developer Survey 2020
Now it is time to wind up our discussion. But any article detailing the current trends in the programming world is incomplete without mentioning the Stack Overflow Developer Surveys. The four popular programming language ranking schemes which this article relies on are more or less computer generated, based on data like number of Google searches, number of searches for online tutorials, etc. The Stack Overflow Developer Survey, on the other hand, depends on opinion polls conducted with developers all over the world. The 2020 Developer Survey was answered by more than 65,000 developers. Let us try to get some insights from it.
According to the latest survey, the three most ‘loved’ programming languages are Rust, TypeScript, and Python — in that order. The term ‘loved’ here means an interest to continue developing with a particular programming language. The same survey points out that the three most ‘dreaded’ programming languages are VBA, Objective-C, and Perl — in that order. The term ‘dreaded’ here means lack of interest in continuing the development with a particular programming language. Notice that this matches with our earlier prediction that the future of Objective-C and Perl may not be very bright. The survey also says that the three most ‘wanted’ programming languages are Python, JavaScript, and Go — in that order. The term ‘wanted’ here means an interest in learning afresh and adopting a particular programming language. This again matches with our earlier prediction that the future of Python seems very bright. I have only mentioned the top three entries in each category but a detailed list is available online. The survey also features the most ‘loved’, ‘dreaded’, and ‘wanted’ frameworks, tools, databases, etc. I urge you to go through the latest Stack Overflow Developer Survey available online, and assure you the time spent exploring it will be aptly rewarded.