Сфера программирования похожа на ландшафт с мозаичным набором языков и фреймворков, в котором сложно определить, с какой тропы начать путь. Каждый ресурс и блог предлагают свой «бессмертный» или «современный» язык будущего, расхваливая его многочисленные библиотеки и поддержку сообщества. Информационный шум создал видимость бесконечной битвы, очаги которой стали миражами на любой намеченной дороге разработчика. Они путают новичков и заставляют выбирать, толком не разобравшись в настоящих возможностях каждого стека. Так стоит ли вообще обращать внимание на эти распри и рекомендации?
Как и во всех направлениях IT, в разработке есть свои просматриваемые тенденции. Главная из них – частая смена «популярного» языка программирования, которая пугает молодых специалистов неправильным выбором. Чтобы разобраться, откуда она возникла, обратимся к первоисточникам популяризации.
КТО РАЗВЯЗАЛ МНИМУЮ БИТВУ
Агентства и фрилансеры
В каждой компании, предоставляющей услуги разработки, есть приоритетный язык программирования. Изначально на нем мог кодить сам СЕО, а потом отбирать тех специалистов, навыки которых ему проще проверить. В других агентствах ведущим языком становится тот, на котором пишет большинство сотрудников в данный момент времени. Новые организации предпочитают изучить спрос рынка и формировать команду по актуальным запросам. В любом случае компания при рекламе своих услуг рассказывает и о преимуществах ее стека, делая акцент на доминирующем. Аналогично поступает и фрилансер, зачастую орудуя одним языком программирования. Говоря проще, на чем работаем – то и лучшее.
Активисты сообществ
У языков и фреймворков существуют отдельные площадки-сообщества, в которых общаются и помогают друг другу разработчики. Выходя за пределы среды единомышленников, активные сторонники одного языка «нападают» на инакомыслящих программистов. Особо не разбираясь в другом стеке, они пишут хвалебные посты и комментарии своему, стараясь принизить все, что в него не входит.
Рейтинги
Доверять цифрам – это правильно, но слепо верить всем – не стоит. К такому выводу можно прийти, если посмотреть не один, а сразу десять рейтингов языков программирования. Одно ранжирование сделано на основе поисковых запросов, второе – на опросе менее 100 тысяч разработчиков, третье – по числу репозиториев, а четвертое – вообще мнение автора. Метрики рейтингов не учитывают ни количества цифровых продуктов на языке, ни реального числа программистов, работающих на нем. Ничего из жизни – сплошная виртуальность. Все, что они могут подсказать, – какие языки сейчас более обсуждаемы.
Python, JavaScript, Java, C#, PHP, Go, Ruby, Swift, Kotlin, Rust
Курсы программирования
Онлайн-школы не скупятся на подробное описание языков программирования, которые входят в их обучающий план. Если какого-то языка – нет, то он автоматически становится «морально устаревшим» и ненужным. Зато любой преподаваемый способ кодирования – современный и востребованный, что тоже вносит свою лепту в иллюзорные сражения. Интернет-курсам все равно, что вы выберете, лишь бы сделали это. Они размещают шаблонную рекламу и обещания, не думая, что могут привести новичка к ошибочному мнению о программировании и последующей стагнации в карьерном пути.
Сайты по поиску работы и сотрудников
На hh.ru и подобных платформах можно отследить фактическую востребованность языков программирования. Для статистики достаточно сравнить количество вакансий и резюме. Однако большой спрос на Python-разработчиков в настоящее время не гарантирует, что через полгода количество кандидатов на должность не достигнет критического уровня. В то же время PHP-разработчиков может стать дефицитно мало, что в разы увеличит шансы быстро найти работу.
КАК ВЫБРАТЬ СВОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ
При получении высшего профильного образования будущему разработчику намного легче принять решение, чем программисту-любителю. Частично оно предопределено самим обучением, во время которого студент знакомится с 3-4 языками. Если вы впервые хотите заняться глубоким изучением одного языка программирования, то, чтобы не запутаться, ограничьте себя теми, которые находятся на слуху. Изучите вступительную теорию по каждому и попробуйте на них покодить. После этого самостоятельно выберите тот, что понравился.
Можно отталкиваться и от стека компании, в которой хотите работать. Так, Яндексу требуются разработчики на Python, C++, Java, Go. Однако и Яндекс, и другие организации предпочитают специалистов с опытом. В нынешних условиях сложно сказать, будут ли настолько актуальны вакансии к тому времени, когда вы накопите нужные навыки и стаж.
Практичный метод – проанализировать спрос на трудовом рынке. Смотреть нужно и вакансии, и резюме. Например, на момент написания статьи у Kotlin на hh.ru размещено в 6 раз меньше вакансий, чем у Python. Однако на 1 вакансию со знанием языка мобильной разработки – 15 соискателей, а веб – 24. Это говорит о том, что конкуренция среди Python-разработчиков выше. В целом на начало 2024 года наиболее востребованы и дефицитны GO-специалисты: 8 кандидатов на 1 должность. Но через год-два на вершину может взойти совсем другой язык, который снизит спрос на остальные.
Как вы уже поняли, никакой битвы никогда не существовало. Личное предпочтение, вынужденная работа на определенном стеке, появление проектов и доработка старых, обновления версий и новые плагины – вот, что влияет на популярность языка программирования в определенный период времени. Поэтому при его выборе не нужно зацикливаться на «самом-самом».
Выбор языка программирования зачастую стоит перед теми, кто собирается пройти IT-курсы и быстро освоить профессию. Получая полноценное образование программиста, молодой специалист понимает особенности языков. Он практикуется и останавливается на том, с чем ему удобнее работать. Новичкам же, решившим освоить программирование за полгода, советуем сначала ознакомиться со статьей «Правда о нехватке IT-специалистов и отказах рекрутов».