What Stats & Surveys are Saying about Top Programming Languages in 2020
Comparing Programming Languages is a very complex thing and so there are many graphical illustration/jokes trying to symbolize Programming language. I found few and I am starting this article with those.
In simple words, Programming Language empowers human to instruct and control machine. So, it is natural that there will be so many languages which try to make this process more powerful and simple. For this very reason there are hundreds of programming languages, many of those programming languages are now out of active use, few are going to be obsolete in coming years and then there are languages which is going to continue and prove its usage in coming years and then there are new programming language fighting for it acceptance.
This article going to present the trends of top Programming Languages which will continue in the coming year 2020. To predict the trend of the programming language in 2020 this article uses data from authentic surveys, various collected statistics, search results and salary trends according to programming languages. This article will help the new learner to pick a programming language to learn and for expert, it will help to decide either to switch to another language or to continue with his expertise language.
In the next section, I have prepared two tables which summarize the popularity trend of Programming Languages in the last five years (2015-19). The data is taken from Stackoverflow popularity survey 2015-19. For a clear and accurate understanding, the programming languages are divided into two groups, first, languages which have origin before 2000 and the second group has languages which came after 2000. The selection of 2000 as the boundary is just random but very helpful to understand the programming trend under these two groups. The table also lists origin year and main or documented purpose of these programming/scripting languages.
Language | Origin | 2015 | 2016 | 2017 | 2018 | 2019 | Main Purpose |
Javascript | 1995 | 54.4% | 55.4% | 62.5% | 71.5% | 67.8% | Web development, Dynamic contents, Client and Server side |
Java | 1995 | 37.4% | 36.3% | 39.7% | 45.4% | 41.1% | Enterprise Application |
Bash/Shell | 1971/79 | – | – | – | 40.4% | 36.6% | Automation and system admin |
Python | 1991 | 23.8% | 24.9% | 32.0% | 37.9% | 41.7% | General purpose |
PHP | 1995 | 29.7% | 25.9% | 28.1% | 31.4% | 26.4% | Web development, Server-side |
C++ | 1980/83 | 20.6% | 19.4% | 22.3% | 24.6% | 23.5% | General purpose |
C | 1972 | 16.4% | 15.5% | 19.0% | 22.1% | 20.6% | General Purpose, Low-level programming |
Ruby | 1995 | 8% | 8.9% | 9.1% | 10.3% | 8.4% | Web development |
R | 1993 | – | – | 4.5% | 6.0% | 5.8% | Statistical Computing |
Objective-C | 1986 | 7.8% | 6.5% | 6.4% | 7.3% | 4.8% | General purpose |
Observations:
There is a decrease in the popularity of all languages from 2018 to 2019 except Python.
Python
Python is the only language continuously on rising since last five years. It is a general-purpose language, so someone wants to learn just one programming in 2020 and want to cover more area of software development then Python could be chosen.
Java
Java was on rising but fall in 2019, the reason could Kotlin gaining popularity on the Android platform. Java is a good choice for a programming language but now it is under Oracle and Google is promoting Kotlin so it is in the conflicted zone. As a matter of fact still, the large number of the company is using Java and going to continue with Java due to its developers base, framework, and legacy application.
C/C++
C and C++ are still holding with approx 20% and it will be there due to its inherent features and legacy system.
JavaScript
JavaScript popularity can be attributed to the growth of popular JavaScript library and framework like node.js, etc. JS is the language for the dynamic website and this going to be top for coming years because of its active development, support from Mozilla and penalty of libraries and frameworks. So, if someone wants to be web development, javascript is a must.
R
R is gaining popularity in recent years and reason would be growth and popularity of data analysis. It is used by data scientist but again much behind in comparison to Python which has established as general-purpose languages and enjoy active developers with lots of data science libraries and modules. So, one can prefer Python over R if they have to choose only one otherwise if wanted carrier in Data Sciences then learning both will a good option.
Ruby
Like PHP, Ruby is also facing tough competition from JavaScript and even Python to establish as back-end web development programming language. So, again for web development javascript and Python (server-side (Flask, Django, etc.) would be a good choice and will offer more domain flexibility than Ruby.
PHP
There is a sharp decline in PHP popularity in 2019 and it can be traced back to server-side acceptance of javascript and Python. So, if someone wants to go to server-side web development then still PHP is a good choice with a large number of popular framework like CakePHP, Codeigniter, etc. otherwise choosing a general-purpose programming language would be better.
Objective-C
Objective-C was the main language for Apple’s software such as macOS, iOS, etc. before Apple moved to Swift language. So this transition is reflected in the popularity of both languages, i.e. there is a fall in popularity for Objective-C and the popularity of Swift is rising. So, again if someone wants to be a developer for Apple’s products then Swift should be the language of choice.
Language | Origin | 2017 | 2018 | 2019 |
Swift | 2014 | 6.5% | 8.3% | 6.6% |
Go | 2009 | 4.3% | 7.2% | 8.2% |
Kotlin | 2011 | Google Support | 4.7% | 6.4% |
Scala | 2003 | 3.6% | 4.5% | 3.8% |
Juila | 2012 | – | – | – |
C# | 2001 | 34.1% | 34.4% | 31.0% |
Rust | 2010 | – | – | 3.2% |
Clojure | 2007 | – | – | 1.4% |
Observations:
Swift
Swift has replaced the Objective-C as the main language for Apple-related software and application. Since it is supported and promoted by Apple so there is an increase in popularity since its inception and as Apple is going to continue with it so if someone is looking for Apple-specific development platform then Swift is going to be a must-know programming language. This is mostly vendor and product-specific language with very less usage outside Apple’s eco-system.
Go
Go (Golang) is getting popularity as maintain, use and promoted by Google. The motivation of Go development was to address criticism of some of the popular languages and keeping the best of them in one place. Since 2017, Go is moving upward in popularity and with Google support, it is going to enjoy this in coming years. Google is also making Go as a primary language for new projects and replacing other languages with Go, this trend going to make useful and important to learn in coming years so one can pick Go as a new programming language.
Kotlin
Kotlin is being offered as an alternative of Java for Android development and again it is supported and promoted by Google so it is also picking up by developers and gaining popularity in recent years. So, with the growth of Android, support of Google and with clean and short syntax it is going to be a choice of Android application developers and is a good choice to learn for Android App developer. Kotlin going to be shine as a prominent programming environment for Android development.
Scala
Scala tries to establish as an alternative to Java but didn’t get very well among developers. It doesn’t have big support from any multi-national company, perceive as functional languages and dependency on JVM doesn’t provide much scope to rise in popularity. There could be steady growth but very slow and surely not a language to learn as a beginner.
Julia
Julia aims to bring the speed of ‘C’ and simplicity of Python but it is strange that didn’t found any popularity in Stackoverflow survey but gaining popularity among data science domain and being seen as a challenger for R and Python in long run. Surely, there will be growth in Julia but still, Python or R is better for job and growth.
C#
C# is the language for the .NET framework and developed by Microsoft. Its popularity is approx constant over past years and going to continue with a similar trend. This is vendor-specific language so one can pick this language if want to work in the Microsoft development environment. Recently, Microsoft has open-sourced the .NET so there would be some upward trend but again it is vendor-specific so there won’t be much affected.
Rust
Rust, Clojure, etc. are languages which have a user-base but not so popular so surely not going to have an upward swing in popularity.
A Picture Says a Thousand Words
To understand a clear trend and picture of top programming language growth let keep a picture of it by the various chart. The figure 1 and figure2 gives a very clear picture that in old language stack JavaScript is far ahead than others and credit goes to boom in web development, then C and C++ together competing very closer to Java. Python is moving upward in popularity and only language which popularity is constantly increasing in the last 5 years. New languages are getting popularity and most of them are supported by the multi-national company and bit IT giant like Microsoft, Google and Apple.
Loved and Wanted Languages
Programming Language | 2015 | 2016 | 2017 | 2018 | 2019 |
Rust | 73.8 | 79.1 | 73.1 | 78.9 | 83.5 |
Kotlin | 0 | 0 | 0 | 75.1 | 72.6 |
Python | 66.6 | 62.5 | 62.7 | 68.0 | 73.1 |
Go | 72.5 | 68.7 | 63.3 | 65.6 | 67.9 |
Swift | 77.6 | 72.1 | 63.9 | 65.1 | 69.2 |
From above Table and Figure, few observations are very obvious, Love of Rust is growing in last five years whereas Swift is loosing love from developers and Python is in between these two and last two years have gain for Python. One more unique observation is that out of 5 loved languages 4 are from post 2000 group while only Python is the older language and Kotlin love started with addition of Kotlin for Android development post 2017.
Programming Language | 2015 | 2016 | 2017 | 2018 | 2019 |
JavaScript | 15.4 | 11.9 | 18.6 | 19.0 | 17.8 |
Python | 14.8 | 13.3 | 20.6 | 25.1 | 25.7 |
Java | 10.5 | – | 11.7 | 10.5 | 8.3 |
From above table, wish of developing in javascript and Python is growing in last years and this reflect in popularity and love for the language. There is a sharp decline in Java and this is due to the addition of Kotlin as alternative for Android app development and also change of policy by Oracle who own Java now.
Technologies and Programming Languages
In this figure, one can see that the largest cluster is for Web development and JavaScript and its various framework is dominating the cluster this is USP of JavaScript growth. The second-largest cluster is of Microsoft technologies and Python technologies which again clear the popularity and love for the language. Python cluster is linked with data science technologies which highlight the growth story of Python.
TIOBE Index
TIOBE index rank programming language based on search engine search result. The selection of search engines and programming language is defined in its page. The ratings are calculated by counting hits of the most popular search engines. The search query that is used is +”<language> programming”. In TIOBE index Java is dominating the ranking in the last two decades where C is holding the 1st and 2nd rank for the last 30 years. Python has come a long way in the last two decades i.e. 24th in 1999 to 3rd in 2019. If someone merges the C and C++ then it would hold the 1st positions forever.
In the new languages (post-2000), Rust moved up in ranking i.e. from 33rd to 28th, and Julia from 50th to 39th. It is also interesting to note that Kotlin doesn’t seem to come closer to the top 20.
Popularity of Programming Language (PYPL) Index
The PYPL index is created by analyzing how often language tutorials are searched on Google. The more a language tutorial is searched, the more popular the language is assumed to be. It is a leading indicator. The raw data comes from Google Trends.
Below Figure verifies that the top 3 languages are Python, Java, and JavaScript. C#, PHP, C/C++ also secure top position, this trend is again similar to stack-overflow, and TIOBE index.
Above Figure indicates that among new programming Language i.e. post 2000 Kotlin, Go, Rust, and Julia is moving up in the ranking.
Job Market and Salary
Salary depends upon the geographical area and demand of the products, a programming language based salary comparison is just a tool to predict or estimate the salary trend. We have summarized salary based on programming language from popular survey i.e. Dice salary survey 2018 and Stack-overflow survey 2018 and 2019.
Programming Language | The Dice salary survey (2018) | Stack-overflow Survey (2018) | Stack-overflow Survey (2019) |
Go | $132,827 | $66K | $80K |
Perl | $110,678 | $69K | NA |
Shell | $109,518 | $63K | $69K |
Node.js JavaScript | $105,418 | $55K | $56K |
Java/J2EE | $105,164 | NA | $52K |
TypeScript | $103,680 | $60K | $60K |
Python | $103,587 | $56K | $63K |
Ruby | $ 102,086 | $64K | $75K |
Swift | $ 101,631 | $57K | $59K |
C# | $101,566 | $59K | $59K |
From the above table, it is very clear from both survey that Go/Golang is a very high paid job in the market and even stands 1st rank in a high paid job in stack-overflow 2019 survey and Dice Salary Survey 2018.
Language Predictability
So, as closing remarks, It is easy to predict a language trend but choosing only one language to learn is a really difficult choice and totally depend upon the individual choice and their future plans, for example, if you want to work in Web Development you can’t afford neglecting Javascript, if you want to work with Apple’s products you can’t neglect Swift now, if your taste is in system-level programming then C and C++ is your friend, Python makes you run faster in many domains and currently darling in Data science. You see each language takes you on a different journey. Choose your destination and then drive with the language of that path.
We’ll love to know your opinion, please vote for your favorite Programming Language Survey:
[totalpoll id=”3022″]
Thank you for being here and keep reading…
Here’re some more Articles you might be interested:
— Top Back-End Frameworks Survey
— Six Pillars to Become a Senior Level Software Developer
Which book you would like to suggest for beginners to learn python?