Какие языки программирования изучать в 2024 году - Академия Selectel
В панель

Какие языки программирования изучать в 2024 году

Анастасия Ткачева Анастасия Ткачева Продуктовый редактор 1 марта 2024

Высокие зарплаты, отсрочка от армии, ипотека с пониженной процентной ставкой — хорошие IT-специалисты востребованы на рынке и могут рассчитывать на льготы от государства.

Изображение записи

Для тех, кто тоже хочет стать айтишником, рассказываем, какие языки программирования популярны в 2024 году. Что выбирают разработчики и на чем пишут в топовых компаниях — разбираем в статье.

Дисклеймер

Мы будем опираться на рейтинги и отзывы разработчиков. Однако важно помнить, что в первую очередь языки необходимо выбирать под конкретные задачи. Например, для фронтенда пригодятся JavaScript и TypeScript. Для бэкенда необходимо знать PHP, Java, JavaScript, Go или С# — конкретный выбор зависит от специфики приложения и задач разработчика. А для анализа данных и работы с нейросетями понадобятся Python, Java, C или C#.

Также важно учесть, что в рейтингах упоминаются не только языки программирования. Например, можно встретить HTML и CSS.

Топ-10 языков программирования

Каждая компания или веб-сервис используют свою оценку рейтингов. Для объективности посмотрим ежегодные отчеты GitHub, Stack Overflow и TIOBE.

Рейтинги GitHub

Согласно данным ежегодного отчета по состоянию на конец 2023 года, разработчики отдают предпочтение следующим языкам:

Рейтинг языков, начиная с самого популярного: JavaScript, Python, TypeScript, Java, C#, C++, PHP, C, Shell, Go.
Частота использования языков (в процентом соотношении).

Рейтинги рассчитываются по результатам исследования проектов в репозиториях на GitHub с открытым исходным кодом. 

JavaScript уже более пяти лет — самый используемый язык на GitHub. А вот TypeScript впервые обогнал Java и вошел в топ-3. Этот язык стал базой для фронтенда — за счет строгой типизации и проверки типов он позволяет избежать ошибок во время разработки и избавляет от многих багов при деплое.

JS и Python сохраняют лидерство уже 5 лет, а вот TypeScript в 2023 впервые вошел в топ-3, обогнав Java.
Динамика популярности языков с 2019 по 2023 год.

Сравнение языков в новых проектах показывает несколько иную картину. Здесь топ возглавляют Rust, Lua и TypeScript. Первый в этом рейтинге Rust — статически типизированный язык программирования. В нем типы переменных и выражений определяются и проверяются в момент компиляции, что повышает безопасность памяти и обнаружение ошибок. На втором месте Lua — относительно простой и расширяемый скриптовый язык. Как и Rust, он располагает безопасным окружением и автоматическим управлением памятью. TypeScript замыкает тройку — как и в общем рейтинге.

Рейтинги StackOverflow

StackOverflow использует другую механику для расчетов. Здесь в основе исследования лежат опросы: разработчики указывают языки, которые они использовали для проектов в текущем году и хотели бы использовать в будущем.

Если говорить о наиболее используемых языках, то в топе вновь JavaScript, Python и TypeScript. Если же сравнивать по критерию «желанности», то большинство разработчиков хотели бы писать проекты на Rust — 84%. На втором месте — Elixir с 73%, на третьем — TypeScript и Zig. 

JavaScript — самый используемый, но по «желанности» он уступает Расту и другим языкам.
Синими точками показан процент разработчиков, которые уже используют язык. Красными — процент желающих использовать язык в будущем.

Рейтинги TIOBE

Индекс TIOBE основан на частоте упоминаний в поисковых системах. Аналитики берут для исследования данные из 25 поисковиков (и сервисов с поиском), среди которых Google и VK. При этом результаты выдачи Яндекса и Mail.ru не учитываются.

Согласно индексу TIOBE, в феврале 2024 года наиболее упоминаемыми языками стали Python, С и С++. Также в десятку вошел Go — язык от компании Google, это самая высокая позиция в индексе, которую он когда-либо занимал.

Рейтинг TIOBE, начиная с самого популярного языка: Python, C, C++, Java, C#, JavaScript, Go, Visual Basic, PHP.
Популярный Rust в индексе занимает лишь 18 строку, а TypeScript — 39. Однако повторим, индекс показывает не самые используемые языки, а наиболее упоминаемые.

На каких языках пишут разработчики крупных компаний

Результаты исследования частично отражают реальную картину. Если заглянуть в вакансии известных компаний или поговорить с руководителями команд, вновь увидим в числе самых используемых JavaScript (или его фреймворки), TypeScript, Python, Java, C++ и Go. Стек, разумеется, зависит от задач и используемого ПО — каждая команда пишет на чем-то своем и использует отдельный набор инструментов.

Вот что говорят разработчики из разных отделов и департаментов Selectel, Ozon, VK и Avito о своем стеке.

Selectel, команда DBaaS, отделы разработки интернет-проектов и развития SelectOS

Как и в любых крупных компаниях, в Selectel развитая система департаментов и отделов. Так, отдел разработки интернет-проектов работает над сайтом и порталом документации. Здесь фронтендеры используют JavaScript, точнее его фреймворк Vue (Nuxt) и библиотеку React.

В качестве основного фреймворка команда выбрала Vue(Nuxt) за его синтаксис и низкий порог вхождения. Однако была и другая причина. Он оказался более удобным для разработки сайта, на котором находится множество страниц с калькуляторами, и при этом позволял рендерить JavaScript на сервере.

Кроме JS фронтендеры работают с TypeScript, на нем держится основная бизнес-логика. Также приходится кодить на PHP для работы с WordPress — на этой CMS находится один из проектов компании, Академия Selectel.

Бэкендеры из команды облачных баз данных для большинства задач используют Python. На нем написаны API для управления услугами в панели управления. Также на этом языке разрабатывают внутренние сервисы для мониторинга, обслуживания и поддержки кластеров БД. Помимо Python бэкендеры работают с Go. Он необходим для поддержки Terraform и создания различных служебных программ, например экспортеров для Prometheus.

Отдел развития SelectOS работает с C/C++ для BIOS и BMC, при этом команда начинает присматриваться к Rust — привлекает безопасное управление памятью. Также для работы используют Node.js, на котором написан один из продуктов — мобильная ферма, но в будущем разработчики планируют перейти на Go из-за более оптимальной архитектуры для микросервисных систем.

Avito, команда мессенджера

По словам Алексея Никифора, Tech Unit Lead Avito,  бэкенд-разработчики команды работают с Go, так как этот язык идеально подходит для микросервисов. Фронтендеры используют TypeScript. Разработка под Андроид ведется на Kotlin, а для IOS – на Swift. Эти языки практически стали стандартами индустрии на своих платформах.

В личных проектах я использую еще и Python, это очень удобный язык для работы с данными. Наличие таких инструментов, как Pandas, NumPy и Matplotlib, делает его удобным для задач, когда из сырого массива данных нужно что-то понять или вычленить.

Алексей Никифоров Tech Unit Lead Avito

Ozon, отдел разработки платформы A/B-тестов

Руководитель разработки платформы A/B-тестов Евгений Пак рассказал о стеке, принятом в своей команде. Здесь разработка включает три направления задач, и для каждой приходится использовать отдельный язык.

Первое направление — скоростная отдача информации про A/B тесты, в которые попал пользователь при высокой частоте запросов (высоком RPS). Здесь разработчики сталкиваются с настоящим HighLoad и для решения данной задачи используют Golang. Этот язык выбрали за его высокую производительность, статическую типизацию, простоту кода и удобные инструменты для поддержки параллельных вычислений. К тому же Golang — один из основных языков программирования в компании. 

Вторая группа задач связана со скоростным расчетом метрик всех экспериментов Ozon. Команда работает с Big Data: важно каждый день обрабатывать терабайты информации и успевать рассчитать данные к заданному времени. Основной язык программирования для этих целей — Python, он обеспечивает удобную интеграцию с Hadoop. Кроме того, Python используют аналитики всего Ozon.

И третье направление — методологические исследования по ускорению расчета, использованию различных стат критериев, решению проблем достоверности данных. Разработчики решают аналитические задачи и для этого вновь используют Python. 

VK, VK Mini Apps 

О стеке VK рассказал Олег Мифле, backend-разработчик компании. Программисты VK пишут на Kotlin, Swift, Go, Python и C/C++. Каждая команда использует свой язык.

Разработчики платформы VK Mini Apps (мини-приложения) используют PHP для бэкенда и React для фронтенда. PHP-код здесь транслируется в C++ через компилятор kphp, который разработан VK и доступен в open source. Это накладывает свои ограничения на разработку. Например, некоторые функции традиционного PHP становятся недоступны. Но в это же время дает свои преимущества: программисты получают «честную» асинхронность, которую активно применяют для ускорения запусков мини-приложений.

Каким языкам учат на курсах

Проверить актуальность языков можно и по учебным программам онлайн-школ, пусть это и не самый очевидный способ. Как правило такие организации следят за трендами и обучают студентов тому стеку, который прямо сейчас используется на рынке разработки.

В 2024 году EdTech представлен десятками компаний — от узкоспециализированных, вроде Хекслета, до крупных широкопрофильных онлайн-школ, например SkyPro. Большинство из них предлагает курсы для фронтендеров, на которых студенты изучают верстку и программируют на JS или одном из его фреймворков. Также популярны программы по Python, Java, Go, PHP, Ruby, и 1С. 

Есть компании, которые обучают не только онлайн, но и офлайн, например «Эльбрус Буткемп». Здесь обучение ведется по двум направлениям: веб-разработка и Data Science. Разработчики изучают JavaScript и его библиотеку React, TypeScript, Node.js, а также различные инструменты и библиотеки. Студенты Data Science осваивают языки Python и SQL.

Нам важно в короткий срок перепрофилировать студентов, дать им актуальные и прикладные знания для быстрого трудоустройства. Поэтому наши программы, как для офлайн, так и онлайн формата, актуализируются и дополняются ежегодно.

Георгий Бабаян генеральный директор «Эльбрус Буткемп»

Как видно, курсы отображают ту же картину, что мы видим в рейтингах. Онлайн и офлайн-школы преподают те же языки, на которых пишут разработчики, поэтому можете опираться на их программы, даже если планируете обучаться самостоятельно. 

Читайте также: