Как выбрать язык программирования для старта

Существует несколько сотен языков программирования, и это не считая тех, что созданы ради веселья — например, безумный Brainfuck. Как среди всего этого многообразия выбрать правильный язык для старта, рассказывает основатель и CEO первого в России буткемпа Elbrus Георгий Бабаян.

На самом деле всё не так страшно. Будущему программисту придётся выбирать среди первой десятки самых популярных языков программирования. Именно эти языки интересуют потенциальных работодателей — стартапы, крупные ИТ-компании, центры обработки данных.

Популярные языки? Огласите весь список, пожалуйста

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

Согласно этому рейтингу, в топ-15 самых популярных языков вошли:

На популярность языка влияют разные факторы. Приведу несколько примеров:

  • Lua, язык, на котором написали игру Angry Birds, потерял любовь разработчиков из-за того, что количество программистов на Lua многократно превышало рыночный спрос.

  • Objective-C вошёл в топ-3 самых ужасных языков согласно опросу Stack Overflow 2019 года. Он использовался в разработке для OS X и iOS, пока в 2014 году Apple не представила более дружелюбный Swift.
  • Erlang постепенно теряет популярность на рынке, так как потребность в нём ограничена нуждами индустрии телекоммуникаций.

Так что же всё-таки выбрать

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

При этом важно понимать, что одним языком программирования дело не ограничится: со временем придётся освоить два-три близких ЯП, которые помогут эффективнее решать «взрослые» задачи по разработке. Если владеете английским, тут можно пройти классный тест для подбора идеально подходящего вам языка.

Мой результат: Ruby. Идеальный язык для стартапа

Подводные камни при выборе языка

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

  1. Простота изучения и использования.
  2. Вендор.
  3. Комьюнити.
  4. Востребованность языка в конкретном регионе.
  5. Размер зарплат.

Простота изучения и использования

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

Чем дальше от повседневного английского логика языка и названия команд, тем сложнее будет втянуться в работу. Лайфхак: если название языка знакомо человеку без опыта в ИТ, он, скорее всего, достаточно прост для изучения.

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

Фрагмент одного и того же кода на популярных языках
Фрагмент одного и того же кода на популярных языках

Ещё один важный момент — количество доступной информации о конкретном языке. Если документации мало, учёба может стать очень сложной. Подробнее об этом расскажу в пункте об уровне развития языка.

Вендор

Многие языки, библиотеки и фреймворки привязаны к определённой платформе и компании. Возьмём для примера Swift, который тесно связан с Apple и её программными продуктами. Если Apple внезапно уйдёт с рынка, как это случилось с Nokia, исчезнет потребность в специалистах по Swift и Objective-C.

Платформа Java была создана компанией Sun Microsystems, которую затем поглотила Oracle — ей принадлежат права на торговую марку Java.

Другие популярные языки программирования, например Python и Haskell, не зависят от платформы и вендора. Они будут популярны до тех пор, пока не сойдёт на нет использование соответствующих технологий.

Ещё один хороший пример — Ruby: этот язык поддерживается Airbnb и хорошо подходит для стартапов. У него элегантный синтаксис, который позволяет быстро писать код, и активное доброжелательное комьюнити.

Выбор между «корпоративными» и «независимыми» языками зависит от ваших карьерных планов и личных убеждений.

Уровень поддержки в комьюнити

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

Молодые языки, например Ruby, Python и JavaScript, отличаются позитивным и очень общительным комьюнити: тут всегда ответят и помогут, регулярно проводятся митапы, а в Telegram полно профильных каналов на любой вкус, например:

  • Python Beginners — база знаний для новичков в Python.
  • Python — чат разработчиков на Python.
  • pro.js — разработчики на JavaScript.
  • JS Jobs — популярный канал с вакансиями JavaScript.
  • Ruby, Rails, Hanami | dry-rb — разработчики Ruby и Ruby on Rails.

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

Популярные площадки для программистов:

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

  • GitHub — площадка для обмена кодом.

  • В России программисты поголовно сидят на «Хабре», в Америке — на Reddit.
  • В англоязычном комьюнити также популярна площадка Hacker News, которую сделал Y Combinator.
  • У дата-сайнтистов есть мощное сообщество ODS, основная движуха в котором вертится вокруг собственного канала в Slack.
  • А разработчики JavaScript регулярно собираются в Москве выпить крафтового пива и обменяться опытом на митапах BeerJS.

Востребованность языка в конкретном регионе

В большинстве случаев начинающий программист учит язык с целью получить хорошую работу. При этом в разных регионах востребованы разные языки: вот неплохая статья, где сравнивали популярность языков в разных городах США.

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

Уровень зарплат

Кадровый голод в ИТ-сфере заставляет компании конкурировать за специалистов всеми возможными способами, в том числе и соблазнять их зарплатами внушительных размеров. Однако размером оплаты труда специалистов, владеющих конкретным языком, лучше поинтересоваться заранее. Удобно сделать это на hh.ru и его отечественных и зарубежных аналогах, например, indeed.com.

В Elbrus Bootcamp изучают JavaScript. Это третий по популярности язык программирования с низким порогом входа и развитым комьюнити. Он очень востребован в крупных корпорациях и широко применяется в мобильной разработке на Android. Hackr.io включил JS в десятку самых перспективных языков для изучения в 2019 году.

Проанализировав все факторы, я остановился на JavaScript как на самом подходящем языке для старта в профессии. Буду рад обсудить выбор в комментариях.

0
99 комментариев
Написать комментарий...
Александр Говорухин

Язык, язык кто хочет выучить язык программирования, начните с языков общения сначала. А чтобы стать, хоть мало мальским программистом, нужны не только знания языка, а ещё и алгоритмов, парадигм и кучу всего, что приобретается только с опытом. А все эти подборки, этот круче там платят больше, по большей части бред, сорри за тафтологию. И то что вы знаете синтаксис языка, не делает вас программистом, это все популизм. Программист это художник, плохой или хороший, но он делает, потом переделывает и видит рост. Итеративный подход. Нельзя из человека сделать строителя хорошего ПО, ни одни курсы и тд, не дадут вам этого, программист это призвание, со своими плюсами и минусами, так что такие статьи мне кажется только вводят людей в большое заблуждение, а потом в разочарование. Ни кто из программистов в начале, а бывает и в середине или даже в конце карьеры не зарабатывает миллионы. А выбирать язык который учить надо, это когда вы рутину хотя бы для себя хотите автоматизировать, либо идти к мечте.

Ответить
Развернуть ветку
Denis Kiselev

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

Язык - только минимальный входной билет. Такое вот ЕГЭ перед универом. А дальше - долгое (нескончаемое?) обучение собственно программированию.

Ответить
Развернуть ветку
96 комментариев
Раскрывать всегда