Рейтинг языков программирования показал, что JavaScript и TypeScript уже контролируют треть рынка. Java пятый год подряд теряет популярность. Python после нескольких лет негативной динамики в этом году набирает обороты.
Представляем результаты ежегодного опроса, данные и скрипты обработки можно найти на GitHub.
В конце статьи будет локальный опрос пользователей Хабр.
Релевантные материалы:
- Рейтинг языков программирования 2022
- Лучшие школы программирования в 2023 (голосование)
- Лучшие языки программирования для изучения в 2023 году | Голосование
Коммерческое использование
В этом году самым популярным языком остается JavaScript — 19% разработчиков пишут на нем коммерческие проекты. Далее — Java (14%) и Python (13%). Последний впервые среди самых популярных. С минимальным отрывом за Python идут C# и TypeScript.
Какой язык используете в работе?
Топ языков которые нужно учить в 2022 году #программист #компьютер #код
Первое что бросается в глаза — стремительный рост популярности TypeScript. При этом это не только миграция JavaScript проектов, так как JavaScript тоже стали использовать чаще. Экосистема занимает новые ниши. Как мы увидим позже, TypeScript все больше становится языком выбора для новых проектов как на Back-end, так и в Full Stack разработке.
Кроме того, резко выросла популярность Python, который занял третье место после трехлетнего спада. Возможно, это связано со второй волной интереса к анализу данных.
Какой язык используете в работе? (2012–2023 гг.)
Сферы использования
Интересно, что на бэкенде выросла доля как TypeScript, так и JavaScript (хотя основным языком все еще остается Java), TypeScript уже используют чаще, чем JavaScript. Доля PHP сокращается, но язык все еще входит в тройку самых популярных, вероятно, Python заменит его в следующем году.
Во фронтенде все довольно ожидаемо, однако становится заметной доля фронтендов на C# (Blazor) и Dart (Flutter Web). Видно, что переход с JavaScript на TypeScript все-таки происходит.
Основной сегмент фуллстек-разработки еще на C# с ASP.NET, но сектор JavaScript/TypeScript суммарно уже больше. Распределение далее в целом показывает те же тенденции, что и в бэкенде.
В сфере анализа данных Python остается вне конкуренции. Удивляет рост доли R и отсутствие заметной доли языка Julia.
Сфера мобильной разработки приносит нам некоторые неожиданности, такие как одновременный рост доли Kotlin и сокращение доли Swift, что отражает соотношение разработки на Android и iOS. Еще интересно, что Flutter теперь используют чаще, чем React Native, в сегменте мультиплатформенных мобильных приложений.
В области DevOps основным языком, как и раньше, является Python. Ну и Embedded-разработка довольно консервативна. Как и раньше, большинство проектов написаны на C и C++, но видно, что с ростом мощности встроенных систем появилось место и для Python. Еще небольшой сегмент Embedded-разработки на Java — микрокарты — сейчас почти исчез.
Что пишут на языке программирования C#
Рейтинг языков программирования по сферам использования
Back-end
Front-end
Full Stack
Data processing
Mobile
DevOps
Embedded
Примечательно, что изменилось распределение между специализациями: стало больше фронтенда, анализа данных и поддержки операций за счет сокращения бэкенда и фуллстек-разработки.
В какой сфере в основном работаете?
Рейтинги личных предпочтений
Среди предпочтений разработчиков видим те же тенденции, что и в основном блоке. Разве что переход от JavaScript к TypeScript является более заметным.
Интересная ситуация в Embedded-специализации: там большинство людей думает, что новый проект лучше начинать на C++, также третьим наиболее подходящим языком является Rust.
Если бы вы сейчас начинали коммерческий проект и у вас была свобода выбора, какой бы язык выбрали?
Ниже индекс предпочтения. Напомним, это доля людей, которые пишут на этом языке и для следующего проекта выбрали бы его также.
Индекс предпочтения
На этот раз самым любимым языком оказался Swift. В зоне риска ожидаемо находятся языки программирования прошлого века. Время, когда о расцвете Pascal будут вспоминать как о «золотые времена», еще не наступило.
Какой следующий язык выберут те, кто сейчас пишет на Erlang? Из трех заявок — две на Go и одна на Elixir. Для языков программирования баз данных наиболее частой альтернативой является Python.
Самым парадоксальным кажется выбор следующего языка пользователями PHP — это Go, хотя ниша разработки на Go заметно другая.
Какой бы язык вы выбрали для следующего проекта по специализациям
Back-end
Front-end
Full Stack
Mobile
Embedded
Изучение новых языков
Около трети респондентов планирует изучить еще один язык программирования в этом году. Как и ранее, рекордсменом является Go, затем — Python и Rust.
Какие языки программирования вы собираетесь изучать в следующем году?
Большинство планирует изучить следующий язык самостоятельно или с помощью коллег. Обратиться к профессиональным преподавателям в дополнение к самостоятельному изучению есть в планах примерно у 24% респондентов, а 6% в первую очередь будут искать курсы и профессиональных преподавателей.
Какие языки вы собираетесь изучать в следующем году (2018-2023 гг.)?
Сейчас у большинства новичков первым языком программирования является JavaScript, но также заметно растет роль Python. С одной стороны, возможно, это отражение того, что Python больше подходит для обучения, чем JavaScript, с другой стороны — данные показывают, что большинство из тех, для кого JavaScript был первым языком программирования, сейчас работает в экосистеме JavaScript/TypeScript, а для кого Python — на Python. Так что, возможно, это просто разделение траекторий обучения.
Первый язык новичков
Дополнительные языки программирования
Конечно, все работают с базами данных. Картина ниже немного отличается от прошлогодней из-за изменения методологии — теперь мы объединили все языки БД в DB.
Все остальное отражает общие тенденции.
Какие языки вы используете как дополнительные
В опенсорс-проектах участвуют примерно 30% участников опроса (это меньше, чем в прошлом году).
Какие языки программирования используете в open source проектах
Интересно выделить те языки, доля которых в опенсорс-проектах больше, чем в коммерческих. Если мы отсортируем языки по такому критерию, то увидим последовательность: Haskell, Objective-C, Rust, R, C и Closure.
Финальная таблица
Язык | Используете в работе, % | Изменения | Используете в работе | Используете как дополнительные | Используете в своих проектах | Индекс предпочтения
- Рейтинг языков программирования 2022
- Лучшие школы программирования в 2023 (голосование)
Если вы хотите добавить язык программирования к голосованию на Хабр, пишите в комменте или в личку.
Источник: habr.com
Какой язык программирования лучше?
Если открыть любой программистский форум, самыми популярными будут темы в духе «Что лучше: Python или PHP?» Или «Какой язык учить сейчас, чтобы быть востребованным через 10 лет?» Вот наш ответ на этот вопрос:
❤️ Языки программирования — это инструменты. Не бывает хороших и плохих языков, бывает уместно и неуместно применённый инструмент.
Теперь немного раскроем.
Веб, приложения, железо или что-то ещё?
Есть три больших мира: веб-разработка, разработка приложений и программирование микроконтроллеров. Также есть направления, где программирование помогает, но не является самоцелью. Вот примерная карта того, чем чаще всего пользуются:
Языки и технологии для веба
Веб — это всё, что вы видите в интернете: сайты, приложения в браузере и бэкенд, который это обслуживает. Здесь используют:
- Язык разметки HTML — чтобы структурировать страницы в браузере.
- Язык оформления CSS — чтобы страница или интерфейс выглядели как надо.
- Язык препроцессоров CSS — когда нужно очень много CSS-кода, правил и стилей.
- Язык скриптов JavaScript — чтобы интерфейс или приложение вели себя на клиенте как надо.
- Язык и форматирование JS-фреймворков типа React и Angular — чтобы рисовать и программировать поведение сложных веб-приложений.
- Языки бэкенда: PHP, Python, Ruby (из популярных) — чтобы обслуживать приложения и хранить пользовательские данные.
- Языки бэкендовых фреймворков, например Django и Rails.
- Язык запросов в базу данных: чаще всего MySQL, но есть и другие.
Все эти инструменты нужны для разных задач. Нельзя сказать, что одни лучше других.
В отдельных вопросах есть спор типа «Что лучше: Python или PHP». Тут ответ такой: лучше то, чем вы будете пользоваться на работе. Например, если вы идёте обслуживать огромный океан сайтов на Вордпрессе, вам нужен PHP. Если вы будете обслуживать сайты и сервисы на Rails, вам нужно знать язык Ruby. Если сайты ваших клиентов или работодателей работают на Django, вам нужен Python.
Как понять, на чём будут работать ваши клиенты и работодатели? Никак. Сегодня есть вакансии на одни технологии, завтра на другие, послезавтра на третьи, всё быстро меняется. Хорошая новость в том, что если вы знаете какой-то один язык, вы сможете довольно быстро начать работать и на других языках.
Языки и технологии для приложений
Приложения — это всё, что выполняется внутри вашего компьютера или телефона на уровне операционной системы и делает что-то полезное для пользователя. Например, текстовый редактор, программа для презентаций, игра или калькулятор — это приложения.
Если вы самостоятельный разработчик, то выбор языка программирования приложений — вопрос личных предпочтений и выбранной операционной системы:
- Популярные мультиплатформенные языки — Java, C++.
- Для экосистемы Apple — Swift.
- Для Windows и игр на Unity — C#.
- Для Андроида — Kotlin.
- Для приложений, где нужен доступ на низкий уровень железа — C.
- Для настройки бухгалтерской программы «1С Предприятие» — язык программирования 1С.
Есть и другие языки, но эти — классика жанра. При желании можно найти что-то более быстрое или специализированное, специально под задачу, но на старте их более чем достаточно.
В языках для приложений всё точно так же, как и в языках для веба — нельзя сказать, что один язык лучше другого, всё зависит от ситуации. Есть, конечно, С и С++, на которых можно написать почти что угодно, от игры до приложения баз данных, но это уже перебор.
Главный плюс языков и технологий для приложений — стабильность. Каждая версия поддерживается много лет, новое появляется редко, поэтому код, написанный пять лет назад, мало отличается от написанного вчера. А ещё у этих языков огромная база справочников, форумов и готовых решений.
Языки программирования микроконтроллеров
Микроконтроллеры — это микросхемы или небольшие электронные платы, которые физически чем-то управляют. Например, микроконтроллер в аккумуляторе следит за тем, чтобы ток заряда соответствовал номинальному и батарея не перегрелась, а платы в станках управляют двигателями, резцами и скоростью движения детали.
В программировании микроконтроллеров всё зависит от конкретной модели микросхемы, которой нужно управлять. Вот пара примеров из этой области:
- Для программирования станков на заводе используют язык G-code, и для разных станков нужны разные команды.
- Универсальный язык программирования любых микросхем — Ассемблер. На нём можно писать код почти для любой платы, но нужно в совершенстве знать, как физически устроен каждый контроллер.
- Иногда микроконтроллеры программируют на C, когда позволяет объём встроенной памяти.
Чтобы писать программы для таких микроконтроллеров, нужна высокая квалификация, опыт и знание железа. Совсем новичку в этой области будет сложно, поэтому лучше начать с робототехники.
Дата-сайенс, машинное обучение и аналитика
Python — любимый инструмент для тех, кто занимается аналитикой, машин-лёрнингом и данными. Для этого в Python много готовых инструментов, библиотек, фреймворков, готовых решений и документации.
При этом огромные богатства кроются в языке формул и скриптования, который используется в Excel или Google Sheets. Можно очень ловко и бодро заниматься данными и аналитикой, если глубоко владеть этим инструментом.
Лучший язык для программиста — английский
Если вы знаете английский, вам доступна вся документация, все уроки, все онлайн-курсы и вся помощь мирового сообщества программистов. Зная английский и какой-то один язык программирования, вы легко освоите второй, третий и сколько угодно ещё.
Короче: не нужно сейчас ломать голову, какой один язык выучить. Освойте любой язык программирования и подтяните английский, чтобы потом осваивать любые языки по мере необходимости.
Рекламная интеграция
Сегодня в наш выпуск нативно интегрирован «Яндекс Практикум» — здесь обучают всему, что нужно в ИТ. В частности, из указанного в статье:
Источник: thecode.media
Типы языков программирования: какой выбрать и как выучить
Руковожу проектом «вакансии для хороших людей в Петербурге», училась писать в сценарной мастерской Александра Гоноровского. Пять раз переезжала в другой город/страну, сейчас живу в Киеве и получаю степень бакалавра психологии.
Есть крутой инсайт — стать программистом в 2021-м проще, чем в условном 2010-м и гораздо проще, чем в 2000-м. Всё благодаря развитию языков программирования. Хотя интерфейсы становятся сложнее, а искусственный интеллект — умнее, инструменты для работы с ними упрощаются.