Какой язык программирования учить первым
и как его выбрать новичку?
В этой статье я расскажу, какой язык программирования учить первым новичку. И насколько важно правильно выбрать язык программирования, чтобы наименее безболезненно и как можно быстрее попасть в ряды айтишников.
Выбор первого языка
Почему так важно правильно выбрать первый язык? Этот выбор определяет развитие карьеры на 3-5 лет вперёд. Если правильно предугадать язык, популярность которого в ближайшие годы будет расти, то и спрос на вашу специализацию вырастет, что отразится на вашей зарплате.

А в случае промаха вынужденная смена языка отбросит вас назад. Конечно, выучить 2-ой язык программирования вам наверняка придётся в дальнейшем, и сделать это будет уже легче. Но одно дело, учить дополнительный язык, и совсем другое — менять основной язык, что будет сопровождаться падением зарплаты.
И ещё, крайне важно, чтобы язык, который вы подберёте, использовался в той области программирования, которая вам по душе, тогда его изучение будет более плодотворно.
Так как выбрать язык? Понятно, что любой автор может быть субъективен и «перехваливать» тот язык, на котором пишет сам, как в пословице «Всяк кулик своё болото хвалит». А этот язык может быть уже давно теряет актуальность. Его ещё используют, но учить его мало перспективное занятие. Поэтому постараюсь беспристрастно изложить свои доводы, вне зависимости от собственных предпочтений.
Уместно выделить три области программирования, которые наиболее подходят новичкам.
1. Фронтенд
Это видимая часть сайта, которую браузер выводит на экран компьютера, телефона или другого устройства. Во фронтенде единолично властвует один язык программирования: это JavaScript. В арсенал фронтендера, кроме того, входит знание вёрстки сайтов на HTML\CSS.
2. Бэкенд
Это невидимая часть, скрытая от глаз пользователя, которая обеспечивает взаимодействие пользователя с сервером, вне его браузера. Языки бэкенда, подходящие для новичков, это Python, PHP или Java. К ним прилагается умение работать с базами данных и какая-нибудь разновидность языка запросов SQL.
3. Mobile
Разработка мобильных приложений для Android и iOS, соответственно на языках Kotlin и Swift.
И, прежде чем подробно разобрать языки из этих трёх областей, укажу те области программирования, которые новичкам могут оказаться «не по зубам». Хотя эти специализации крайне привлекательные, но одолеть их с наскока вряд ли получится. Учить их можно, и даже нужно, но позже. После того, как вы освоите свой первый язык программирования и будете крепко стоять на ногах.
Это геймдев, тем более что основными языками для разработки игр служат, сложный в освоении, C++ (для игрового движка Unreal Engine) и C# (для Unity). Быстро стать специалистом здесь трудно.
Это Data Science, машинное обучение и всё, что связано с искусственным интеллектом, хотя эти специальности последнее десятилетие считаются самыми перспективными и высокооплачиваемыми. Кстати, здесь доминирует Python, а точнее, к нему ещё прилагаются библиотеки и хорошее знание математики. Но сначала нужно научиться уверенно программировать на самом языке.
Перспективные языки программирования
Фронтенд
Во фронтенде один язык, это JavaScript. Он присутствует практически на любой веб-странице, которую вы открывали. Все, кто работает с вебом, соприкасался с этим языком. Обратимся к статистике авторитетного ресурса StackOverflow, где программисты получают помощь по техническим вопросам от своих коллег. Большинство разработчиков знают именно JavaScript, их почти 2\3 от общего числа.

Это мощный язык, у него самая широкая область применения. Кроме фронтенда, на нём пишут теперь и бэкенд (Node.js), и мобильные приложения, и даже игры.
Если брать фронтенд, то у JavaScript самое большое количество фреймворков. Фреймворк — это платформа, которая служит неким каркасом и существенно облегчает разработку. Первыми среди всех веб-фреймворков, по данным StackOverflow, идут Node.js и React.js.

Невероятно, но в топовой десятке веб-фреймворков — вся верхушка относится к семейству JavaScript.
Бэкенд
Python — это лёгкий язык, он имеет интуитивно понятный синтаксис. Помимо бэкенда, его используют во множестве областей программирования, на нём можно писать практически всё, что угодно. Это лаконичный язык, решение задач на Python отнимает значительно меньше времени, чем на других языках. Это очень перспективный язык.
PHP — по лёгкости его освоения не уступает Питону. Всего несколько часов, и вы уже сами сможете писать несложные скрипты. И хотя у PHP появляется всё больше конкурентов, на большинстве сайтов по-прежнему используется этот язык. По мнению многих разработчиков у PHP немало недостатков, но ставить крест на нём ещё явно рано. В последней версии PHP 8 язык стал более «строгий» и немного более удобный, что отражается на качестве кода и упрощает его написание.
Java — более сложный язык, и он многословный. Например, Kotlin на 30% лаконичнее, чем Java, да он и начал теснить его в разработке под Андроид. Однако большинство приложений обязаны своим происхождением языку Java, их надо поддерживать, а, следовательно, надобность в Java не отпадёт ещё долгое время.
Однако, в рейтинге PYPL, это поиск учебников по языкам программирования в Google, Java занимает 2-ую строчку. Вероятно, это связано с высокими зарплатами java-программистов и удивительной универсальностью языка.

Мобильная разработка
Kotlin — это язык №1, который используется для разработки приложений под Android. У него только один минус, по сравнению с разработкой под iOS. На Андроиде множество моделей смартфонов, с разными версиями ОС и оболочками от производителя. Старые версии ОС обновить невозможно. По этой причине код андроид-приложений изобилует лишними конструкциями для множества версий, оболочек, по сути, это аддоны.
Swift — это разработка под iOS, Mac OC и прочих яблочных платформ. Если вы хорошо знакомы с яблочными девайсами, то других проблем нет, кроме одной. Количество пользователей Андроидом гораздо больше, но в пользу почитателей продуктов Apple говорит их покупательная способность.
Надо ещё иметь в виду, что количество мобильных пользователей в сравнении с вебом постоянно увеличивается, и этот тренд какое-то время будет сохраняться.
Какой язык выбрать?
В этой таблице сумма характеристик выбранных языков, понятно, что они субъективны, однако это поможет вам сделать собственную оценку.

1. Вход
Чем быстрее можно изучить язык, тем быстрее вы станете джуном. Самые лёгкие языки у нас — Python и PHP.
2. Популярность
Чем популярнее язык, тем больше на нём предложений от работодателей, шире комьюнити и легче найти справочную информацию. График от платформы GitHub наглядно показывает, как менялась популярность языков на протяжении 9 лет, а данные по мобильным языкам в таблице указаны ориентировочно по количеству вакансий на сайте hh.ru.

3. Junior вакансии
Стать джуном — наиболее важная цель в карьере, которую нужно достичь как можно скорей. Данные взяты с сайта hh.ru по вакансиям в Москве.
4. Зарплата
Это интересует всех, данные по зарплатам мы возьмём с Хабр Карьеры.

Вывод: наилучшим выбором в качестве первого языка программирования будет JavaScript или Python.