Rating of programming languages

Original author: Editorial DOU.UA

Ukrainian profile resource DOU.UA conducted another annual survey on programming languages, within which 7211 questionnaires were collected (92% of respondents are in Ukraine). Interestingly, for the first time since 2014, Python has negative dynamics, there is a tendency to switch from JavaScript to TypeScript, Elixir users are most satisfied, and finally Rust appeared on the charts.

Commercial use

What changed? First of all, the growth of TypeScipt attracts attention: it looks like it will eventually become the main language in the JavaScript ecosystem. This year it surpassed C ++ in popularity for the first time.

Another interesting thing: for the first time in several years, we saw a decline in the share of Python: perhaps the use of Data Science has reached a saturation point.

For the first time since 2012, the share of C # has grown. Java usage continues to decline, although not as actively as it used to be. In general, a decrease in the share of JVM is visible: the share of Kotlin is stable (although it gave way to Ruby), the use of Scala resumed after a significant decline in 2019, and today, compared to 2018, it even increased slightly. It is also worth noting a slight increase in Dart.

1.png

Below is a diagram showing the dynamics of current programming languages over the years. Changes for C ++, TypeScript, Ruby, 1C, Scala, Pascal / Delphi, T-SQL are statistically significant. Recall that changes are statistically significant if, with a probability of 95%, we cannot get results with or without changes, if we equally select two groups of respondents from the same population.

2.png

Areas of use

This year, for the first time, we asked respondents to indicate the area in which they work. The results are pretty interesting.

We see that about half of the developers are the Back-end 52%, then the Front-end 19% and Mobile development segments 8%, the processing of data arrays (this includes Big Data and machine learning) - 6%. Desktop programming still exists and occupies 4% of the volume, system programming - 3% (now a small share) and Full-Stack development - about 1%.

3.png

Let's take a look at which languages are used depending on the application.

4.png

5.png

6.png

7.png

8.png

9.png

10.png

11.png

12.png

13.png

We can see that the main backend languages are Java, C # and PHP. There is a share of JavaScript and TypeScript, but not as large and comparable to the share of Ruby and Go. The top ten backend languages also include Scala and C ++.

In fact, the entire frontend is written in JavaScript and TypeScript. The use of other languages is highly marginal. The share of TypeScript is comparatively smaller. It will be interesting to look at this ratio in a year.

In mobile development, the main languages are Kotlin and Swift. And the share of cross-platform frameworks is less than it seems. In addition, it is noticeable that Dart / Flutter immediately occupied a large niche. And after React Native and Flutter, there is still room for C # Xamarin.

Among data processing, the undisputed leader is Python, then the data manipulation languages T-SQL and PL-SQL. A special place is occupied by Scala (here it is more widespread than Java) and R.

Personal preferences

As we already pointed out, the results of the programmers' choice cannot be used for forecasting, but here it is interesting that Rust finally appeared on the charts. Again, we see some decline in interest in Python and the trend of switching from JavaScript to TypeScript.

14.png

Let's look at the "preference index" - this is the relative number of developers in the X language who will also choose the X language for the next project in their field.
15.png

Interestingly, the data here is different from the Stack Overflow poll and our previous poll: Rust is much lower. Elixir users are most satisfied (perhaps this is a migration of the Erlang community), and Clojure's place is also noteworthy.

If we calculate separately the index of satisfaction by areas of application, the results are almost the same.

Learning new languages

Python has become a favorite, as in previous years. Almost 18% of those who will learn a new language are going to learn it. Still, this share is less than a year ago. But the biggest growth is in TypeScript and Rust.

16.png

As in previous years, the majority of respondents (83%) want to learn a new language on their own, with the help of books and documentation, 4% will turn to colleagues (impressive introversion), and 12% will use the traditional approach - with the help of professional teachers (courses or individual lessons).

17.png

Additional information

Regardless of the type of programming languages, it makes sense to consider the structure of the distribution of experience in dynamics.

18.png

Here we can conclude that since the share of developers with 1 year experience has decreased => fewer newcomers came to IT than last year.

But still, most of them are specialists with less than 5 years of experience in IT.

19.png

Consider the correlation between age and a programming language.

20.png

Here we see that a younger audience is for Kotlin and JavaScript, and an older one is expected for PL-SQL and Pascal / Delphi. Similar data shows developer experience depending on the language:

21.png

Most developers started out programming in Pascal and C ++, but JavaScript and Python would soon become the first developer languages. I wonder how this will affect the programming culture.

22.png

Data and processing scripts can be found on  GitHub.

Also dou.ua recently published a survey on salaries in Ukraine, where it turned out that the average salary is $ 2500, you can read the translation of this article here here.

A source.