Найти в Дзене

Какой язык программирования выбрать первым

По разным оценкам, в мире насчитывается более 8 тысяч языков программирования. И, как минимум, на два порядка больше экспериментальных проектов. Как сделать правильный выбор, имея столько вариантов? Как выбрать язык, который окажется не только коммерчески востребованным, но и будет доставлять удовольствие в повседневной практике? Как данный выбор проявит себя в дальнейшем?
Иллюзия выбора
Первое
Оглавление

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

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

Первое что стоит понять – особого выбора у вас нет. Из всего множества языков, несложно выделить ТОП-10 лидеров. 80% всего происходящего – происходит там. ТОП-20 "известных" языков определяет границы рационального выбора (первого языка). Ещё десяток "по мелочи" – для авантюристов.

Статистика сервиса для контроля версий кода GitHub:

-2

Всего на GitHub используют 337 уникальных языков программирования, из них самым популярным на сервисе снова стал JavaScrpit: на нём совершили 2,3 млн запросов на добавление кода (pull-request). Второе место занял Python с миллионом запросов, который совсем чуть-чуть обошёл Java (986 тысяч запросов). Десятку лидеров замыкает C, на который пришлось 239 тысяч пулл-реквестов.

Определите, чем вы хотите заниматься

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

1)У каждого языка есть свои преимущества и недостатки.
2)Один язык не может быть хорош для всего.

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

Быстро создать сайт - PHP или Python.
Создать игру - C++ или C.
Веб-систему для банка - Java, C# или C++.
Красивый интерфейс для сайта - HTML, CSS и JavaScript.
Приложение для Android - Java или Kotlin.
Приложение для iOS или Mac OS - Objective-C или Swift.
Выбрав сферу, выясните, какие языки там используются, и выбирайте из них. Вы можете попробовать выучить несколько разных языков, чтобы определиться, какой вам больше нравится или лучше подходит для конкретной задачи.

При этом важно понимать, что одним языком программирования дело не ограничится: со временем придётся освоить два-три близких ЯП, которые помогут эффективнее решать «взрослые» задачи по разработке.

Подводные камни при выборе языка

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

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 полно профильных каналов на любой вкус.

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

Популярные площадки для программистов:

1) StackOverflow — самая известная площадка, на которой любой разработчик может задать вопрос, а лучшие ответы поднимаются вверх голосованием. Есть русскоязычная версия.

2) GitHub — площадка для обмена кодом.

3) В России программисты поголовно сидят на «Хабре», в Америке — на Reddit.

4) У дата-сайнтистов есть мощное сообщество ODS, основная активность в котором вертится вокруг собственного канала в Slack.

5) А разработчики JavaScript регулярно собираются в Москве выпить крафтового пива и обменяться опытом на митапах BeerJS.

Вывод

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

И не переживайте, если вам понравился сложный язык. Сейчас обо всём можно найти понятные и подробные руководства в виде статей и видеороликов.

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