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

Существует несколько сотен языков программирования, и это не считая тех, что созданы ради веселья — например, безумный 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 комментариев
Написать комментарий...
Наталья Королёва

Где паскаль? :D

Ответить
Развернуть ветку
Вася Бездомный

Умер 19 августа 1662, похоронен в Париже.

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

Язык программирования его не сильно пережил.

Ответить
Развернуть ветку
Александр Говорухин

Ох, зря вы так. Вы просто не вкурсе того что делается в госучреждениях, или закрытых заводах.

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

Там наверное и fortran актуален ))))

PS Написали бы статью, чего происходит в IT в дремучих гос. компаниях, под попкорн зашла бы на ура!

Ответить
Развернуть ветку
Александр Говорухин

Я думаю что вас удовлетворит, как мин. Что некоторые до сих пор изменения в rar архивах доносят, вместо кв какойнить

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

В этом ничего такого не вижу, работает да и ладно, а вот с паскалем интереснее было бы узнать, зачем покойника пинают?

Ответить
Развернуть ветку
Misha Trush

Интересно, всё еще не могу понять зачем этому языку учат даже в Универах.

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

Учебники и методическую литературу видимо дорого переделывать и преподов переучивать.

Ответить
Развернуть ветку
Александр Говорухин

На не много чего говорят писанно, ну мож нет. Но объект паскаль

Ответить
Развернуть ветку
Eugene Burmakin

Так легаси же. Переписывать на актуальный стек времени и денег никто не даёт, а поддерживать существующее нужно.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

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

Тоже такое не слышал на счет pascal, хотя в молодости работал программистом в паре гос. контор.

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

Это да. Недавно на заводе видел FoxPro 2.6 с базами на сервере Novell 5.

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