Photo by Max Chen on Unsplash

What Programming Language Will YOU Learn First?

A data based approach using 2017–2019 StackOverflow Developer Survey Results.

Claire Yan
Published in
6 min readJul 15, 2019

--

Introduction

I still remember the day when I started writing my first line of code around 13 years old — at an extra-curricular coding class for FORTRAN. There were not many languages to choose from like nowadays, but having a good choice of learning priorities could possibly make a difference in the long run.

What Programming Language Will YOU Learn First?

Let’s import antigravity. Photo by Niketh Vellanki on Unsplash

Depending on what we want to achieve, there maybe several programming languages that all handle the task well. To support our decisions better, let’s check out what languages current developers are working with in recent years.

In the following sessions, I used the data from StackOverflow’s Developer Survey during 2017–2019 to take a closer look at the different aspects of programing languages from a statistical view. Here is a brief introduction of the number of respondents in each year:

  • 2017 Survey: over 64,000 developers responded.
  • 2018 Survey: over 100,000 developers responded.
  • 2019 Survey: nearly 90,000 developers responded.

Part I: What are the most popular programming languages?

First and foremost, what we are interested in is probably the most popular programing language. I used the answers from the survey question below to find out:

Which of the following languages have you done extensive development work in over the past year?

The following bar charts show in descending order the proportion of individuals working with particular languages in each year.

JavaScript has been a clear leader in recent years. Followed comes HTML/CSS, which, since they are added to the answering options, have taken the position from SQL. Over 50% respondents used these languages.

Since the language options provided in the surveys are slightly different among years, I picked up 21 languages which are common in all years and compared their rankings as below.

We can see JavaScript has been the winner for all years (the feature image is a hint!). Some languages have a strong up/down tendency* during these years. Up-trending languages include Go, Rust, Clojure, F# and Erlang; while languages with strong down tendency include Swift and Object-C.
* The ranking has increased/decreased with a recent change >5 during 2017–2019.

Now that we have an impression the popularity of these programming languages, but how job satisfaction differ between developers using specific languages? What are the languages that most people choose as their starting points? Let’s check these out.

Part II: How do different languages relate to job satisfaction?

To compare the job satisfaction of different languages with consistent visual, I converted the answers of the following questions to the same scale (discrete values from -2 to 2, with positive/negative values for satisfaction/dissatisfaction and zero for neither satisfied nor dissatisfied).

Job satisfaction rating. (2017)

How satisfied are you with your current job? (2018/2019)

Meanwhile, I was also interested in the proportion of programming languages, so I plotted both the proportion and the mean of job satisfaction in the same charts as below.

We can see the job satisfaction mean values is mainly between 0.4~0.7, so overall it is around the middle of “Slightly satisfied” and “Neither satisfied nor dissatisfied”.

Job satisfaction value of JavaScript goes down for a little bit these years, but its ranking is in a clear constant decrease. TypeScript and Bash/Shell have good rankings in terms of job satisfaction these years. In 2019, several languages with small proportions such as Clojure and Go, have higher satisfaction than other languages with large proportions.

Here is a chart comparing the job satisfaction of common languages in all years. A steady increasing trend can be observed in Clojure, Ruby, Go, R, Rust and Erlang. Languages with downtrends include JavaScript, SQL, C#, Java, PHP and VBA.

Part III: What are the languages that most people choose as their starting language?

The answers from the following survey question was used to answer this question. Notice that data related with years of coding is converted into the same scale to keep the visual consistent.

How do different languages relate to different years of coding?

The proportion of new-comers (0–5 years) can indicate which language people choose as their starting point. Meanwhile, the proportion of veterans is not so helpful since these individuals might have already stopped using the languages they used to work with.

In the charts below, we can see in 2017, the proportions of new-comers are generally higher than those in 2018–2019. Matlab(2017–2018), Assembly and Java possess a large proportion new-comers in their years. Haskell was once with high proportion of new-comers in 2017, but the number went down significantly in 2018.

Among all years, most of common languages have similar proportions of new-comers. Languages remained in top-15 in all years include R, Assembly, C, PHP, Java, Python, C++ and JavaScript. Languages remained in top-10 are Assembly, PHP, Java and Python. Finally the only language succeed in remaining in top-5 is Assembly. Since Assembly is often used as an introduction class to help us know how control flow works at a most fundamental level, the result is not so surprising.

Conclusion

In this article, we have looked at a few questions to achieve some insights in what programming language to learn first, according to StackOverflow 2017–2019 survey data.

  1. We counted the proportion of individuals working with particular languages , and compare the rankings in each year. It showed that the most popular language has been JavaScript. Up-trending languages include Go, Rust, Clojure, F# and Erlang.
  2. We then looked at how different languages relate to job satisfaction. We found that TypeScript and Bash/Shell have good rankings in terms of job satisfaction these years. Steady increase in job satisfaction was observed in Clojure, Ruby, Go, R, Rust and Erlang.
  3. Finally, we investigate which languages most people choose as their starting points by counting the proportion of individuals with a 0–5 years of coding experience. The top-5 languages in recent years are Assembly and Matlab(2017–2018).

Developers will eventually learn more than one language, but they might started differently. What this article tries to do is to support your choice of the following question:

What Programming Language Will YOU Learn First?

To see more about this analysis, see the link to my Github available here.

--

--