По разным оценкам, количество готовых к производству языков программирования в мире колеблется от 400 до 600. И как минимум на два порядка больше экспериментальных проектов.

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

Как этот выбор покажет себя в долгосрочной перспективе?

Иллюзия выбора

Первое, что вы должны понять, это то, что у вас нет особого выбора. Выделить ТОП-10 лидеров из всего многообразия языков несложно. Там происходит 80% всего, что происходит.

Именно по Парето. ТОП-20 «известных» языков определяет границы разумного выбора (первого языка). Еще одна десятка «мелочей» — для авантюристов. «Страх и ненависть в Лас-Вегасе» — следующий в списке.

ТОП 10

  • C
  • C++
  • C#
  • Ява
  • JavaScript / TypeScript
  • Цель-C
  • PHP
  • Питон
  • Рубин
  • Скала

Что мы выбираем?

Еще одна неприятная правда — не мы выбираем язык. Мы выбираем поле, которое сопровождается одним, двумя или тремя языками. Они уже «избраны» для нас. Кем? По отрасли, рынку, исторической случайности, в конце концов.

Для начинающих характерна концентрация на языке. Синтаксис, грамматика… — они кажутся такими важными, такими незнакомыми, что привлекают все наше внимание. Но оказывается, что это только верхушка айсберга. Что под водой?

  1. Среда (и способ) выполнения: Компилятор/Виртуальная машина.
  2. Поставщики и платформа
  3. Экосистема и сообщество.
  4. Спрос и тенденции отрасли.
  5. Связи с другими языками и экосистемами.
  6. Видение языка.

Критерии выбора

Когда делается выбор, что правильнее выбрать Платформу, а не Язык, вроде бы возникают те же вопросы. Разница в том, что теперь мы можем отвечать на них объективно.

Чтобы выбрать платформу (а затем, если есть выбор, и язык), мы должны определить критерии. Для большинства людей основными критериями являются следующие.

Спрос на рынке

Определяется путем деления общего количества вакансий на общее количество резюме. Высокий спрос порождает высокое предложение. «Окна возможностей» останутся на несколько лет. У тебя есть время?

Общее количество вакансий

Конкуренция на рынке определяет сложность получения работы. Однако нужно учитывать и сложность возможного изменения компании.

Формат работы

Вы решили, что хотите работать в Enterprise. Удаленно. Удачи вам, ведь такого сочетания в мире нет.

Возраст рынка

Чем старше рынок, тем меньше он интересует новичков. Все темы по подбору персонала переполнены новичками, которые формально выучили Java Junior и обнаружили, что не могут найти работу.

Чтобы устроиться на работу, нужно иметь опыт. И вам нужно получить работу, чтобы иметь опыт. Бесконечный круг.

Зарплата

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

Вывод

Если не знаете, какой язык выбрать — выберите один из популярных. Инертность отрасли огромна.

Радикальные изменения случаются крайне редко (и реже со временем), но лидеры списка стабильно удерживают свои позиции.

Смена лидера(ов) в той или иной сфере почти всегда происходит через смену самой платформы, а не через проигрыш в «честной» конкуренции.