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

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

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

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

Ответить
Развернуть ветку
1 комментарий
ЯжПрограммист

Люди постоянно путают изучение программирования и изучение языка программирования. Например, среди php-программистов очень много таких, кого и программистом назвать язык не поворачивается, максимум "кодописец" (да, ударение на последний слог).

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

Что то снобизмом джаваписцев запахняло. Люди понятия не имеющие о современном php почему то считают своим долгом высказаться в пренебрежительной манере о коллегах пишущих ( по их мнению) на менее "продвинутых" языках. А заставь такого джаваписца написать что то без использования какого-нибудь спринга (который собственно и ограждет довольно жестко от написания говнокода, вынуждает тут через создание сервиса делать, а здесь через иньекции получать зависимость и т.д.) так он не то что говнокода, вообще ничего полезного для прода не напишет. Зато гонору ого-го.

Ответить
Развернуть ветку
Денис Демидов
среди php-программистов очень много таких

Справедливости ради, PHP наверное самый массовый язык, естественно, что там полно говнокодеров.

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

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

Ответить
Развернуть ветку
Zmitr0k
...начните с языков общения сначала... сорри за тафтологию.

Согласен. Сперва хотя бы русский.

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

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

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

Ответить
Развернуть ветку
Георгий Бабаян
Автор

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

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

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

Ответить
Развернуть ветку
Влад Бочков

сильно ошибаетесь

Ответить
Развернуть ветку
5 комментариев
Mr. Burns

Выбрал Brainfuck - ни о чем не жалею.

Ответить
Развернуть ветку
Илья Константинович

ребята важно не то какой ЯП вы знаете, а то, как вы эти знания применяете. Я знаю людей которые на HTML+CSS делают по 300к/мес (и это даже не ЯП) и так же есть люди которые знают PHP/SQL/Python C++ и еще туеву кучу всего и при этом даже сотку в месяц выжать не могут.

Поэтому тут главное не какие технологии вы знаете, а как вы эти технологии применяете.

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

Сначала я не понял - Эльбрус, Бабаян... и, вдруг, JavaScript. А потом понял:

измени_свою жизнь()
Стань {fullstack-<разработчиком/> за (10) недель};
Bсего за 188000 рублей.

Adibas!

Ответить
Развернуть ветку
Георгий Бабаян
Автор

Борис Арташесович — мой дедушка :)

Ответить
Развернуть ветку
1 комментарий
Alex Hold

Эта тема началась во времена книги с++ за 21 день!
А теперь интернет забит курсами где за 20 занятий вчерашний начинающий(теперь это Junior) разработчик учит как стать профессионалом.
Мало того эти люди тоже пишут книги от чего вообще волосы дыбом.
Тырим куски текста и кода и вуаля родился писатель.
Как итог огромное количество гавнокодеров выкидывается на рынок без элементарных знаний.
Зато самомнение как у вселенского небожителя несущего свет серой массе!

Как стать программистом —--—--- писать код и читать чужой код.
5 лет чтобы стать средним разработчиков.
10 лет чтобы стать профессионалом.
15-20 лет до эксперта, которому плевать на языки программирования и технологии, он просто пишет на чем нужно.
Не сидеть и протирать на заднице штаны как делают многие, а учить и развиваться.

Причем опыт рабочий на живых проектах, а не мне 20 лет я программист с 7 годами опыта.
Тебе 20 лет у тебя нет опыта!
Потому что через 5 лет за свой код тебе будет стыдно и смешно одновременно.

А так мне осталось ещё 19 лет и 7 месяцев до того момента когда я выучу С++ я надеюсь ))

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

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

Ответить
Развернуть ветку
3 комментария
Mister Egos

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

Ответить
Развернуть ветку
Dmitry Tinitilov
Даже ответы на вопросы на тостере и в stackoverflow если сравнить, диву даёшься, сколько энергии мои соотечественники тратят на троллинг и самоутверждение.

Ну это как раз подход наших форумов, вместо ответа на вопрос долго рассказывать собеседнику какой же он дебил. Тоже самое при демонстрации бизнес-проекта на vc: комментариев, почему проект говно больше всего. Всем нужно работать над собой - меньше негатива, больше конкретики. Тогда, глядишь, что-то у нас и получится.

Ответить
Развернуть ветку
Mr. Burns

Кодеры (не программисты) сегодня хуже ебучих реперов: каждая мазафака мнит себя истиной, имея за плечами пару статей на хабре и 0 продакшн опыта. Малолетние уебаны.

Ответить
Развернуть ветку
Константин Шабанов

Вопрос к СЕО Эльбруса, Георгий, жаль что Вас нету в Питере ну а с другой стороны я как то погуглил Ваш буткемп и не нашел достаточное количество отзывов.. т.е - они есть но их как то мало и наверное это либо заказные либо сотрудники оставили... Мне вот интересно Ваш буткемп стоит 180 к и чем же он отличается от других фейк буткемпов где предлагают волшебную пилюлю становления в программисты? Батчей у Вас выпустилось не мало а фидбэка не густо..

Ответить
Развернуть ветку
Георгий Бабаян
Автор

Константин, привет!

У нас есть несколько студентов и выпускников из Питера, могу вас познакомить. А еще каждый вторник в 17:30 в Elbrus Bootcamp проходит день открытых дверей, где можно лично пообщаться со студентами, выпускниками и преподавателями. Заходите, как будете в Москве.

Отзывов скоро будет больше: начали записывать интервью с выпускниками, выкладываем по мере готовности в канал https://www.youtube.com/channel/UCaKZxz2d1KI-wN3l6fX7zdQ. У каждого выпускника собираем фидбек и следим за его дальнейшей судьбой. Пока все довольны. В интернете пишут мало, потому что быстро находят работу ;)

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

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

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

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

Ну можно ещё Rust и C# добавить.
Да и с Node.js на бекенд живется прекрасно.

Ответить
Развернуть ветку
24 комментария
Denis Kiselev

Для начала изоморфный js норм.

Golang - это будет уже следующий язык! А тут для фронта все равно надо будет разобраться как минимум с css/html.

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

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

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

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

Ответить
Развернуть ветку
5 комментариев
Эмилия Теплова

10 недель? А чё так долго?

Ответить
Развернуть ветку
This account Daulet

С/C++, Top

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

Какой язык не выбирай, всё-равно второй учить придется!

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

Там же, где и basic - мертвы))

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

Очень полезный пост. В настоящее время с конкуренцией и быстрым технологическим
Изменения студенты вынуждены добиваться наилучшего результата. Ключ к успеху заключается в
стучать в каждую возможную дверь. Читайте также бесплатные онлайн-курсы (https://digitaldefynd.com/best-data-structures-algorithms-tutorial-course-certification/), чтобы узнать о некоторых замечательных идеях.
на эту тему.

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

Вы также можете обратиться к рекомендации, предоставленной Digital Defynd. Они дали подробный список лучших онлайн-курсов по различным темам, таким как python web dev и т. Д., Доступных на рынке.

1-https: //digitaldefynd.com/best-python-data-science-courses/

 2-https: //digitaldefynd.com/best-full-stack-web-development-courses/ 

3-https: // digitaldefynd. com / best-machine-learning-and-deep-learning-courses /

4-https:  //digitaldefynd.com/7-best-machine-learning-training-certifications/

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

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

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