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

High salaries, deferment from the army, mortgage with a reduced interest rate – good

IT specialists

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

Disclaimer

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

It is also important to note that the ratings mention not only programming languages. For example, you can find HTML and CSS.

Top 10 Programming Languages


Each company or web service uses its own rating system. For objectivity, let's look at the annual reports of GitHub, StackOverflow and TIOBE.

GitHub ratings

According to

annual report data

as of the end of 2023, developers give preference to the following languages:

Frequency of language use (percentage).

Ratings are calculated by researching projects in open source GitHub repositories.

JavaScript has been the most used language on GitHub for over five years. But TypeScript overtook Java for the first time and entered the top 3. This language has become 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.

Dynamics of language popularity from 2019 to 2023.

A comparison of languages ​​in new projects shows a slightly different picture. Here the top is headed by Rust, Lua and TypeScript. First in this ranking, Rust is a statically typed programming language. It defines and checks the types of variables and expressions at compile time, improving memory safety and error detection. In second place is Lua, a relatively simple and extensible scripting language. Like Rust, it has a secure environment and automatic memory management. TypeScript comes in third, just like in the overall ranking.

StackOverflow ratings

StackOverflow uses different mechanics for calculations. Here

at the heart of the study

There are surveys: developers indicate the languages ​​they used for projects this 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 by the “desirability” criterion, then the majority of developers would like to write projects in Rust – 84%. In second place is Elixir with 73%, in third place are TypeScript and Zig.

The blue dots show the percentage of developers who are already using the language. Red – the percentage of people who want to use the language in the future.

TIOBE ratings

TIOBE index

based on the frequency of mentions in search engines. For research, analysts take data from 25 search engines (and search services), including Google and VK. In this case, the results of Yandex and Mail.ru are not taken into account.

According to the TIOBE index, in February 2024 the most mentioned languages ​​were Python, C and C++. Also in the top ten was Go, a language from Google, the highest position it has ever occupied in the index.

The popular Rust occupies only 18th line in the index, and TypeScript ranks 39th. However, we repeat that the index shows not the most used languages, but the most mentioned ones.


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


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

Here's what developers from different divisions and departments of Selectel, Ozon, VK, Avito say about their stack.

Selectel, Internet Project Development Department and DBaaS Team

Like any large company, Selectel has a developed system of departments and divisions. So, the Internet project development department is working on the website

selectel.ru

and a documentation portal. Here, front-end developers use JavaScript, more precisely its Vue (Nuxt) framework and the React library. The team chose Vue(Nuxt) as the main framework for its syntax and low barrier to entry. However, there was another reason. It turned out to be more convenient for developing a site that contains many pages with calculators, and at the same time allowed JavaScript to be rendered on the server.

In addition to JS, front-end developers 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, Selectel Academy.

Backenders on the cloud database team use Python for most tasks. APIs for managing services in the control panel are written on it. Internal services for monitoring, maintaining and supporting database clusters are also developed in this language. In addition to Python, backenders work with Go. It is required to support Terraform and create various utilities such as exporters for Prometheus.

Developers from the direction of software and hardware solutions use C/C++ for BIOS and BMC, while the team is starting to look closely at Rust – they are attracted by secure memory management. They also use Node.js for work, in which one of the products is written – a mobile farm, but in the future the developers plan to switch to Go due to a more optimal architecture for microservice systems.

Avito, messenger team

According to Alexey Nikifor, team leader of the messenger team, backend developers work with Go, since this language is ideal for microservices. Front-end developers use TypeScript, Kotlin for Android development, and Swift for iOS, since these languages ​​have almost become industry standards on their platforms.

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

Ozon, A/B test platform development department

Evgeniy Pak, head of development of the A/B testing platform, spoke about the stack adopted by his team. So, development includes three areas of tasks, and each has to use its own stack.

The first direction is the high-speed return of information about A/B tests in which the user got involved with a high frequency of requests (high RPS). This is where developers encounter real HighLoad and use Golang to solve this problem. This language was chosen for its high performance, static typing, simplicity of code and convenient tools for supporting 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 for all Ozon experiments. Here you have to work with Big Data: process terabytes of information every day and manage to calculate the data by a given time. The main programming language for these purposes is Python, which provides convenient integration with Hadoop. In addition, Python is used by analysts throughout Ozon.

And the third direction is methodological research to speed up calculations, use various statistical criteria, and solve problems of data reliability. Here you have to deal with analytical tasks, and for this they again 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 who are responsible for the VK Mini Apps platform use PHP for the backend and React for the frontend.

The PHP code here is translated into C++ through the kphp compiler, which was developed by VK and is available in open source. This imposes its own limitations on development. For example, some features of traditional PHP are no longer available. But at the same time, it provides its own advantages: programmers receive “fair” asynchrony, which they actively use to speed up the launch of mini-applications.

What languages ​​are taught in the courses?


You can also check the relevance of languages ​​using the curriculum of online schools, even if this is not the most 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 like Hexlet to large, broad-based online schools like SkyPro. Most of them offer courses for front-end developers, in which students learn layout and programming in JS or one of its frameworks. Programs for Python, Java, Go, PHP, Ruby, and 1C 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, as well as various tools and libraries. Data Science students master Python and SQL languages.

“It is important for us to retrain students in a short time, to give them relevant and applied knowledge for quick employment. Therefore, our programs, both for offline and online formats, are updated and supplemented annually,” – General Director of Elbrus Bootcamp Georgy Babayan.

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

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

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *