Какие языки программирования популярны в 2024: сравниваем рейтинги и опыт крупных компаний

Какие языки программирования популярны в 2024: сравниваем рейтинги и опыт крупных компаний

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

Дисклеймер

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

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

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

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

Рейтинги GitHub

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

<i>Частота использования языков (в процентом соотношении).</i>
Частота использования языков (в процентом соотношении).

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

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

<i>Динамика популярности языков с 2019 по 2023 год.</i>
Динамика популярности языков с 2019 по 2023 год.

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

Рейтинги StackOverflow

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

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

<i>Синими точками показан процент разработчиков, которые уже используют язык. Красными — процент желающих использовать язык в будущем.</i>
Синими точками показан процент разработчиков, которые уже используют язык. Красными — процент желающих использовать язык в будущем.

Рейтинги TIOBE

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

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

Какие языки программирования популярны в 2024: сравниваем рейтинги и опыт крупных компаний

Популярный Rust в индексе занимает лишь 18 строку, а TypeScript — 39. Однако повторим, индекс показывает не самые используемые языки, а наиболее упоминаемые.

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

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

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

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

Как и в любых крупных компаниях, в Selectel развитая система департаментов и отделов.

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

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

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

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

Разработчики из направления программно-аппаратных решений используют 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 и для решения данной задачи используют Go.

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

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

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

VK, VK Mini Apps

Олег Мифле, 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.

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

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

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

А вы согласны с рейтингами? Поделитесь в комментариях своим мнением и расскажите, какой язык программирования вы используете.

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

1212
6 комментариев

в свете того что недавно заявил директор инвидиа, стоит десять раз подумать о том стоит ли вообще изучать программирование в 2024 году

1
Ответить

У NVidia на ИИ хайпе (они основной поставщик железа) капитализация более чем удвоилась за последний год. Ещё бы их директор говорил что-то иное про ИИ 😸

2
Ответить

Возможно, имеет смысл глубже погружаться в AI

Ответить

Директор Нвидиа точно ничего не изучал)

Чисто метлой работал всю жизнь, судя по таким рассуждениям)

Ответить