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.

Programming Language

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 Stackoverflowpopularity 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 Androidplatform. 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 PHPRuby 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 CakePHPCodeigniter 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 MacOSiOS 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 developerKotlin 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

RustClojure 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 Cand C++ together competing very closer to JavaPython 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 MicrosoftGoogle and Apple.

popularity-2015-19
popularity-2015-19-line

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
love-programming

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.

wanted

TECHNOLOGIES AND PROGRAMMING LANGUAGES

technologies-cluster

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

tiobe-index

In the new languages (post-2000), Rust moved up in ranking i.e. from 33rd to 28th, and Juliafrom 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 PythonJava and JavaScriptC#, PHP, C/C++also secure top position, this trend is again similar to stack-overflow, and TIOBE index.

PYPL

Above Figure indicates that among new programming Language i.e. post 2000 KotlinGoRust, and Julia is moving up in the ranking.

pypl

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. Now, the reason is very simple, Go is a Google supported language and mostly used at Google and Google want to promote this language so the high pay can be connected to Google payroll. One thing is very clear that price elasticity is an economic term which provides different scenario like less number of product increase the price, luxury and branded product cost, high product availability decrease the price. So clearly, the global average salary could not be a good choice to choose a language. For example, a programming language which is near to extinct but there are few legacy systems and so to maintain those company often offer very high pay but there are always very few numbers of positions in such languages. In other scenarios, the mainstream languages offer a lot of job position and so the average salary goes down.

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.

 

Thank you for being here and keep reading…