Будь вы новичком в программировании, ищущим свой первый язык для изучения, или опытным разработчиком, ищущим новую задачу, чтобы поднять свою карьеру на новый уровень, выбор языка программирования для изучения может оказаться непростой задачей. Ведь вариантов так много. Обычно на то, чтобы пройти путь от нуля до героя в том или ином языке, уходят годы, поэтому вам не захочется чувствовать, что вы тратите время впустую.
Факторы, которые нужно учитывать
На мотивацию к изучению конкретного языка может влиять целый ряд субъективных и объективных факторов, и в конечном счете важно сохранять мотивацию и иметь веские причины для изучения новых знаний, иначе вы вряд ли останетесь с ними. Итак, вот типичные мотивы для изучения языка.
1. Он нужен вам для работы
Об этом часто умалчивают, но это, пожалуй, один из самых важных и мотивирующих факторов. Если у вас уже есть работа (или вы только что устроились на нее), которая требует от вас знания определенного языка, скорее всего потому, что вы будете работать над существующей кодовой базой, это, вероятно, самая лучшая мотивация, которую вы можете получить. Выучите этот язык или вас уволят!
2. У вас есть друзья или знакомые, которые используют его
Если у вас уже есть хорошие друзья или все ваши знакомые в социальных сетях используют этот язык, это может оказать огромную помощь - в случае затруднений вы знаете, к кому обратиться за помощью или обсудить проблему. Если вы принадлежите к сообществу, которое тяготеет к определенному языку, это существенно повлияет на вашу мотивацию к его изучению.
3. Общая популярность
Если язык очень популярен, это, скорее всего, повлияет на ваше мнение о том, какой язык вам следует изучать. Чем популярнее язык, тем больше вероятность того, что вы найдете качественные ресурсы для его изучения и получения помощи. Будет больше пакетов, написанных на этом языке, которые вы сможете использовать, и вам не придется постоянно изобретать колесо. И будет больше и лучше инструментов, которые помогут вам писать на этом языке.
Вот процентное соотношение ответов на вопрос о том, какие языки, по мнению участников опроса Stack Overflow 2021, они активно использовали в прошлом году. Королем здесь является JavaScript, за ним следует Python, а Java также остается довольно популярным.
PHP едва попадает в длинный список, перед более нишевыми языками, такими как Go, Rust, Ruby и так далее. Этот список дает вам понять, что JavaScript (или Node) и Python - отличные языки для изучения в качестве первого или второго языка просто в силу их огромной популярности.
4. Возможности трудоустройства
Если ваша цель — найти работу, возможно, вы захотите выучить новый язык, чтобы стать более трудоспособным. То, какие именно языки являются самыми сильными претендентами, может зависеть от того, какие рабочие места есть в вашем регионе, в какой отрасли вы хотели бы работать и какие вакансии имеются. Например, JavaScript очень популярен, и существует множество вакансий, где требуется JavaScript, но также существует и множество предложений кодеров, знающих JavaScript, так что это не обязательно означает, что ваши перспективы получить работу с этим языком лучше.
5. Самые высокооплачиваемые рабочие места
Люди, владеющие одним языком лучше, чем другие, как правило, зарабатывают больше. Этому может способствовать множество факторов, например, популярность языка в особенно прибыльных отраслях.
Исследование Stack Overflow, проведенное в 2021 году, показало, что Clojure с большим отрывом стал самым высокооплачиваемым языком (хотя он далеко не самый популярный), а Dart - самым низкооплачиваемым языком. PHP занял второе место. Я не знаю точно, почему PHP оказался так плох, но, возможно, это связано с тем, что этот язык многие начинающие разработчики изучают для работы с WordPress на начальном уровне.
Однако я не уверен, что это веская причина учить один конкретный язык, а не другой, потому что нет никакой гарантии, что вы сможете найти работу, требующую знания одного из этих языков, и даже если вы ее найдете, диапазон зарплат может сильно варьироваться в зависимости от уровня должности, обязанностей, связанных с ней, и специфики компании, которая вас нанимает.
6. Вам это нравится — и вы получаете удовольствие от работы разработчиков
Одна из причин, по которой люди предпочитают один язык другому, заключается в том, что они получают удовольствие от его использования по сравнению с другими языками, которые они знают. Язык, который имеет смысл, хороший инструментарий, понятный синтаксис, который легко изучать и использовать без постоянно возникающих каверзных багов, будет тем, который многие люди предпочтут использовать при прочих равных условиях.
По результатам опроса Stack Overflow, проведенного в 2021 году, победителями стали Rust и Closure, за которыми следует TypeScript. PHP демонстрирует довольно низкие результаты, хуже PowerShell и едва ли выше C. COBOL демонстрирует наихудшие результаты: только 16 % респондентов заявили, что любят этот язык, и 84 % испытывают от него ужас.
Интересно взглянуть на фреймворки, поскольку наличие отличного фреймворка может стать причиной выбора языка. Опрос Stack Overflow показал, что Svelte, ASP.NET Core, FastAPI и React — это любимые фреймворки, а jQuery, Drupal и Angular — самые ненавистные.
Личный выбор
В конце концов, решение об изучении и использовании того или иного языка — дело сугубо личное, и только вы можете принять решение о том, какой язык имеет смысл для вас. Есть некоторые интересные данные, полученные в ходе опросов, таких как опрос Stack Overflow, и если исходить только из них, то может показаться, что Clojure или Rust имеют больший смысл, поскольку они очень любимы и работа с ними часто хорошо оплачивается, или JavaScript просто потому, что он так популярен и необходим во многих областях.
В моем случае есть несколько языков, на изучение которых я потратил большую часть своей карьеры, и я хотел бы рассказать, как я пришел к работе с ними.
PHP
Когда я начал изучать веб-разработку, PHP был повсюду и был (и остается) чрезвычайно популярным. У меня были друзья, которые умели программировать на нем, они немного подучили меня, и я работал над проектами вместе с ними. Позже, когда я получил работу, на которой работаю уже десять лет, этот язык был одним из используемых моим работодателем, так как у нас было несколько сайтов на базе Drupal.
ColdFusion/Lucee
ColdFusion уже не очень популярен, настолько, что даже не попал ни в один из списков в этом опросе. Но у моего работодателя была обширная легаси кодовая база, созданная с помощью ColdFusion, и это просто то, что знали и использовали существующие разработчики. Поэтому мы использовали именно его. Когда их существующий разработчик ушел на пенсию, я не смог найти убедительных причин для продолжения использования этой технологии, поэтому мы перешли на PHP и фреймворк Laravel.
При этом я считаю ColdFusion довольно простым в работе и дружелюбным, но у него есть масса недостатков, и многие из них можно устранить с помощью более популярного языка. Поскольку в нашем окружении уже был PHP, а я уже знал PHP, мы решили использовать лучший, самый популярный PHP-фреймворк для новой разработки.
SQL (MySQL и SQL Server)
SQL был необходим для любой разработки бэкэнда, и в нашем устаревшем стеке мы использовали чистые SQL-запросы внутри ColdFusion или PHP. Хорошее знание SQL и концепций реляционных баз данных, вероятно, более важно для моей работы, чем знание какого-либо конкретного языка программирования. Хорошо спроектированные базы данных и запросы означают хорошую целостность данных и производительность, но практически любой язык может отправить этот SQL на сервер и превратить его в HTML и JavaScript.
Мы работаем в среде Microsoft, поэтому часто используем базы данных SQL Server, но для большинства новых веб-разработок мы используем MySQL из соображений экономии и потому, что он немного лучше работает с Laravel.
Jquery
Когда я начинал свою работу, большинство людей использовали JavaScript с помощью jQuery. JavaScript было сложно заставить работать в разных браузерах, и он был ограничен, что усложняло даже простые операции. У нас до сих пор много легаси кода, использующего jQuery.
Vue.js
Для новой разработки мы в основном используем Vue.js. Почему именно Vue, а не, скажем, React? В основном потому, что он кажется более популярным и любимым в сообществе Laravel, и большинство знакомых мне людей, с которыми я общаюсь, используют Vue. Я знаю и использую множество проектов, которые активно используют Vue, и многие вакансии в моей сфере требуют знания Vue — несмотря на то, что React в целом более популярен.
JS/HTML/CSS
Если вы, как и я, являетесь full-stack веб-разработчиком, то вам трудно обойтись без знания любого из этих языков, и я широко использую их в любом фронтенд-коде, который пишу.
Перевод статьи: Choosing A Programming Language to Learn