Python, JavaScript or C++? We tell you which programming languages ​​to study in 2024

Python, JavaScript or C++? We tell you which programming languages ​​to study in 2024

High salaries, deferment from the army, low-interest mortgages are good

IT specialists

are needed in the market and can count on benefits from the state. For those who also want to become an IT expert, we tell you which programming languages ​​are popular in 2024. What developers choose and what they write on in top companies – we analyze in the article.

Disclaimer

We will rely on developer ratings and reviews. However, it is important to remember that, first of all, languages ​​must be chosen for specific tasks. For example, the frontend will require JavaScript and TypeScript. For the backend, you need to know PHP, Java, JavaScript, Go or C# – the specific choice depends on the specifics of the program and the tasks of the developer. And for data analysis and work with neural networks, you will need Python, Java, C or C#.

It is also important to consider that not only programming languages ​​are mentioned in the ratings. For example, you can find HTML and CSS.

Top 10 programming languages


Every company or web service uses a rating score. For objectivity, let’s look at the annual reports of GitHub, StackOverflow and TIOBE.

GitHub ratings

According to

according to the annual report

as of the end of 2023, developers prefer the following languages:

Frequency of language use (in percentage).

Ratings are calculated based on research results of projects in open source GitHub repositories.

JavaScript has been the most popular language on GitHub for more than five years. But TypeScript overtook Java for the first time and entered the top 3. This language became the basis for the frontend – due to strict typing and type checking, it allows you to avoid errors during development and eliminates many bugs during deployment.

The dynamics of the popularity of languages ​​from 2019 to 2023.

A comparison of languages ​​in new projects shows a slightly different picture. Rust, Lua and TypeScript lead the top here. The first in this ranking, Rust, is a statically typed programming language. In it, the types of variables and expressions are defined and checked at compile time, which improves memory safety and error detection. In second place, Lua is a relatively simple and extensible scripting language. Like Rust, it has a secure environment and automatic memory management. TypeScript closes the top three, as in the overall ranking.

StackOverflow ratings

StackOverflow uses a different mechanic for calculations. Here

in the basis of research

lie surveys: developers indicate the languages ​​they used for projects in the current year and would like to use in the future.

If we talk about the most used languages, JavaScript, Python and TypeScript are again in the top. If we compare according to the “desirability” criterion, the majority of developers would like to write projects in Rust – 84%. In second place – Elixir with 73%, in third place – TypeScript and Zig.

Blue dots show the percentage of developers who already use the language. In red, the percentage of those willing to use the language in the future.

TIOBE ratings

TIOBE index

based on the frequency of mentions in search engines. Analysts take data for research from 25 search engines (and search services), including Google and VK. At the same time, the results of issuing Yandex and Mail.ru are not taken into account.

According to the TIOBE index, the most mentioned languages ​​in February 2024 were Python, C and C++. Also in the top ten was Go – a language from the company Google, this is the highest position in the index that it once held.

The popular Rust in the index occupies only 18 lines, and TypeScript – 39. However, let’s repeat, the index does not show the most used languages, but the most mentioned ones.


What languages ​​do developers of large companies write in?


The results of the study partially reflect the real picture. If you look at the vacancies of well-known companies or talk to team leaders, you will again see TypeScript, Python, Java, C++ and Go among the JavaScript (or its frameworks) used. The stack, of course, depends on the tasks and the software used – each team writes on something of its own and uses a separate set of tools.

This is what developers from various departments and departments of Selectel, Ozon, VK, Avito say about their stack.

Selectel, Internet project development department and DBaaS team

As in any large company, Selectel has a developed system of departments and departments. Yes, the internet project development department is working on the site

selectel.ru

and documentation portal. Here, frontends use JavaScript, more precisely its Vue (Nuxt) framework and the React library. As the main framework, the team chose Vue(Nuxt) for its syntax and low entry threshold. However, there is another reason. It turned out to be more convenient for developing a site with many pages of calculators, while still allowing server-side JavaScript rendering.

In addition to JS, frontends work with TypeScript, the main business logic is based on it. You also have to code in PHP to work with WordPress – this CMS hosts one of the company’s projects, the Selectel Academy.

Backends from the cloud database team use Python for most tasks. It says the API for managing services in the control panel. Internal services for monitoring, maintenance and support of database clusters are also developed in this language. In addition to Python, backenders work with Go. It is needed to support Terraform and create various utilities, such as exporters for Prometheus.

Developers from the direction of software-hardware solutions use C/C++ for BIOS and BMC, while the team is starting to look at Rust – safe memory management is attractive. Node.js is also used for work, on which one of the products — a mobile farm — is written, but in the future the developers plan to switch to Go due to the optimal architecture for microservice systems.

Avito, the messenger team

According to Oleksiy Nikifor, team leader of the messenger team, backend developers work with Go because this language is ideal for microservices. Frontenders use TypeScript for development on Android – Kotlin, and for iOS – Swift, as these languages ​​have already practically become industry standards on their platforms.

“In personal projects, I also use Python, it is a very convenient language for working with data. The availability of such tools as Pandas, NumPy and Matplotlib makes it convenient for tasks when you need to understand or extract something from a raw data set.” — Oleksiy Nikiforov.

Ozon, A/B testing platform development department

Head of A/B testing platform development Yevhen Pak talked about the stack adopted by his team. So, development includes three areas of tasks, and for each you have to use your own stack.

The first direction is the rapid return of information about A/B tests, in which the user got into at a high frequency of requests (high RPS). This is where developers face real HighLoad and use Golang to solve this challenge. This language was chosen for its high performance, static typing, code simplicity, and convenient tools to support parallel computing. In addition, Golang is one of the main programming languages ​​in the company.

The second group of tasks is related to the high-speed calculation of metrics of all Ozon experiments. Here you have to work with Big Data: process terabytes of information every day and manage to calculate the data by the given time. The main programming language for these purposes is Python, it provides convenient integration with Hadoop. Additionally, Python is used by analysts throughout Ozon.

And the third direction — methodological research on speeding up the calculation, using various articles of criteria, solving data reliability problems. Here you have to deal with analytical tasks, and for this they use Python.

VK, VK Mini Apps

Oleg Mifle, a backend developer at VK, said that programmers in the company write in Kotlin, Swift, Go, Python and C/C++. Each team uses its own language. For example, the developers responsible for the VK Mini Apps platform use PHP for the backend and React for the frontend.

The PHP code here is translated to C++ through the kphp compiler, which is developed by VK and is available in open source. This imposes its own limitations on development. For example, some features of traditional PHP become unavailable. But this time gives its advantages: programmers get “honest” asynchrony, which is actively used to speed up the launch of mini-applications.

What languages ​​are taught in the courses


It is also possible to check the relevance of languages ​​according to the curricula of online schools, even if this is not an obvious way. As a rule, such organizations follow trends and teach students the stack that is currently being used in the development market.

In 2024, EdTech is represented by dozens of companies – from highly specialized ones, such as Hexlet, to large, broad-based online schools, such as SkyPro. Most of them offer frontend courses where students learn layout and programming in JS or one of its frameworks. Python, Java, Go, PHP, Ruby, and 1C programs are also popular.

There are companies that teach not only online, but also offline, for example, Elbrus Bootcamp. Here, training is conducted in two directions: web development and data science. Developers learn JavaScript, React, TypeScript, Node.js, and a variety of tools and libraries. Data Science students learn Python and SQL.

“It is important for us to repurpose students in a short period of time, to provide them with relevant and applied knowledge for quick employment. That’s why our programs, both for offline and online format, are updated and supplemented every year,” – General Director of “Elbrus Bootcamp” Georgy Babayan.

As you can see, the courses reflect the same picture that we see in the ratings. You can rely on the programs of such schools even if you plan to study independently.

Do you agree with the ratings? Share your thoughts in the comments and tell us what programming language you use.

Related posts