Выбор первого языка программирования может показаться такой же забавой, как прохождение тестов в духе «Какой вы персонаж из фильмов Тарантино?». Но прежде чем вы выберете Ruby, потому что в детстве вам нравилась игрушка с похожим названием, позвольте мне напомнить: ставки здесь довольно высоки.

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

  • востребованность языка на рынке труда;
  • его долгосрочные перспективы;
  • насколько легко учить язык;
  • какие проекты можно создать с его помощью.

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

И этим языком должен быть JavaScript.

По информации самого крупного сообщества разработчиков Stack Overflow   Stack Overflow Developer Survey Results 2016. , JavaScript является популярнейшим языком среди всех опрошенных пользователей. Он жизненно необходим для создания браузерной части сайтов и становится всё более подходящим для разработки их серверных компонентов. Кроме того, JavaScript быстро распространяется на такие сферы, как разработка игр и интернет вещей.

Фактор №1. Рынок труда

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

Среди всех языков программирования по количеству вакансий лидирует Java. JavaScript следует сразу за ним.

Но есть один важный нюанс. Хотя JavaScript существует уже больше 20 лет, он только недавно стал серьёзным инструментом, с помощью которого компании вроде Netflix, Walmart и PayPal могут целиком разрабатывать свои приложения.

Многие работодатели ищут JavaScript-разработчиков. Последних даже не хватает на рынке труда.

По данным крупнейшего агрегатора вакансий Indeed.com   Java, Python, JavaScript, Ruby, PHP, Android and iOS Job Trends. , на каждую открытую вакансию Java-программиста претендует 2,7 соискателя. Конкуренция за позиции PHP- и iOS-разработчиков тоже довольно высока.

Но на каждую вакансию JavaScript-программиста приходится лишь 0,6 соискателя. Другими словами, спрос выше предложения.

Фактор №2. Долгосрочные перспективы

JavaScript развивается быстрее, чем любой другой популярный язык. Его экосистему поддерживают крупные денежные и интеллектуальные инвестиции таких компаний, как Google, Microsoft, Facebook и Netflix.

К примеру, над TypeScript (специальная версия языка, которая расширяет возможности JavaScript) трудится более сотни специалистов, многие из них получают финансирование от Microsoft и Google.

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

Фактор №3. Лёгкость изучения

Большинство разработчиков согласится, что высокоуровневые скриптовые языки даются относительно легко. JavaScript относится к таковым, как и Python с Ruby.

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

Фактор №4. Какие проекты можно создать

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

Соучредитель сообщества для разработчиков Stack Overflow Джефф Атвуд (Jeff Atwood) сформулировал закономерность, которая отражает вездесущность JavaScript.

Любое приложение, которое можно написать на JavaScript, в конце концов будет написано на JavaScript.

Джефф Атвуд

И с течением времени эта закономерность становится всё точнее.

Когда-то разработчики Java тоже обещали этому языку повсеместность. Вы можете помнить о Java-апплетах. Но Oracle официально отказалась от них ранее в этом году.

И Python страдает от подобных проблем.

Как я могу дать разработанную мной игру друзьям? А ещё лучше, есть ли способ загрузить её на телефон так, чтобы можно было показать её детям в школе, чтобы им не приходилось устанавливать её?

Джеймс Хью, разработчик игр

Хорошо разберитесь в первом языке. Затем учите второй

Если будете перескакивать от одного языка к другому, то вы не достигнете успеха. Чтобы зайти дальше базовых навыков, нужно хорошо разобраться в первом языке. Второй после этого покажется гораздо более лёгким.

Со временем вы сможете расширять свои знания и превращаться во всесторонне подкованного программиста, изучая другие языки:

  • C помогает разобраться в компьютерах с точки зрения памяти. Он также полезен при работе с высокопроизводительными вычислениями.
  • C++ отлично подходит для разработки игр.
  • Python великолепен для научных вычислений и статистики.
  • Java играет важную роль для тех, кто хочет работать над корпоративными сервисами.

Но сначала освойте JavaScript.