Рубрики
Новости

Какой язык программирования мне следует изучить первым в 2024 году

Содержание обсуждает общие пути начинающих программистов, которые часто начинаются с поиска в Google о том, какой язык изучать. В статье подчеркивается, что JavaScript является отличным выбором для первого языка программирования благодаря высокому спросу на рынке труда, простоте изучения и универсальности при создании проектов. Автор акцентирует внимание на том, что хотя многие учебные заведения все еще предпочитают такие языки, как Java и C, на рынке труда в основном используется JavaScript, что делает его ценным навыком для новых разработчиков. В конечном итоге автор выступает за то, чтобы хорошо изучить один язык, рекомендуя начинать именно с JavaScript.

Путь большинства людей к изучению программирования начинается с одного вечернего запроса в Google.

Обычно это что-то вроде «Изучить ______»

Но как они решают, какой язык искать?

«Они всегда шутят о Java в Silicon Valley. Думаю, мне стоит его изучить.»

Или:

«Haskell. Сейчас так популярен. Haskell.»

Или:

«Этот гофер из Go такой милый.»

А затем есть остальные из нас.

Мы, вероятно, будем искать что-то вроде: «Какой язык программирования мне следует изучить первым?»

Мало вопросов задается так часто, что они получают полноценное инфографическое оформление. Но это один из них:

Выбор первого языка программирования может быть увлекательным процессом — что-то вроде одного из тех тестов на личность «Какой персонаж Квентина Тарантино вы?»

Но прежде чем вы броситесь изучать Ruby, потому что вам нравилось играть с Плей-Дохом в детстве, позвольте мне напомнить: ставки здесь довольно высоки.

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

Поэтому вам следует учесть следующие факторы:

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

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

Серьезно. Посмотрите на эту жемчужину за прошлый месяц:

Когда дело доходит до выбора первого языка программирования, вариантов более чем достаточно. Чтобы немного сократить список, вот самые распространенные поисковые запросы в Google, связанные с изучением программирования, за последние 12 лет:

Java имела свои взлеты и падения.

Python постепенно стал самым популярным выбором.

Но скрытой под всеми этими языками находится «Маленький локомотив, который мог», который медленно поднимается в популярности за последние несколько лет. И этот локомотив — JavaScript.

Прежде чем я начну говорить об этих языках программирования, позвольте мне уточнить:

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

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

Компьютерные науки 101

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

Конечно, как вы, возможно, уже слышали:

«Образование в области компьютерных наук не может сделать никого экспертом-программистом так же, как изучение кистей и пигментов не может сделать кого-то экспертом-художником». — Эрик С. Рэймонд

Многие университеты по-прежнему рассматривают программирование как часть компьютерных наук, а компьютерные науки — как математику.

В результате многие вводные курсы по программированию сосредоточены на языках низкого уровня абстракции, таких как C, или на языках с математическим уклоном, таких как MATLAB.

И заведующие кафедрами обычно придерживаются курса, ссылаясь на ежегодные рейтинги языков программирования, такие как TIOBE Index, или на этот от IEEE:

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

Но изменения действительно происходят. Даже в академической среде.

В 2014 году язык Python обогнал Java и стал самым популярным языком преподавания в ведущих программах по информатике в США.

И еще одно изменение, вероятно, произойдет… в конечном итоге…

Потому что если вы посмотрите на языки, которые на самом деле используются рабочей силой, это рисует совершенно иную картину:

JavaScript — безусловно, самый популярный язык, используемый 49,397 разработчиками, которые ответили на опрос Stack Overflow.

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

В вакансиях также чаще упоминается JavaScript, чем любой другой язык программирования, кроме Java:

Данные от крупнейшего агрегатора вакансий в мире, [Indeed.com]

Не случайно, что мы построили учебный план нашей открытой сообщества вокруг JavaScript. За последние два года более 5,000 человек использовали Free Code Camp, чтобы получить свою первую работу разработчика.

Я не пропагандирую JavaScript потому, что я его преподаю. Я преподаю JavaScript, потому что это самый надежный путь к первой работе разработчика.

Но подходит ли вам JavaScript? Заслуживает ли он того, чтобы стать вашим первым языком программирования? Давайте рассмотрим те факторы, о которых я упоминал ранее.

Фактор #1: Рынок труда

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

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

Но вот что касается JavaScript: хотя он существует уже 20 лет, только недавно он стал серьезным инструментом, вокруг которого компании, такие как Netflix, Walmart и PayPal, стали строить целые приложения.

В результате множество компаний нанимают разработчиков JavaScript, но на рынке труда просто недостаточно таких специалистов.

Данные от [Indeed.com]

На каждую открытую позицию Java приходится 2.7 разработчика Java. Конкуренция за вакансии PHP и iOS также довольно жесткая.

Но на каждую открытую позицию JavaScript приходится всего 0.6 разработчика JavaScript. Это действительно рынок продавцов для разработчиков с навыками JavaScript.

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

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

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

Экосистема JavaScript также выигрывает от значительных инвестиций со стороны таких компаний, как Google, Microsoft, Facebook и Netflix.

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

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

Фактор #3: Сложность обучения

Это пародия на комикс [XKCD]

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

Хотя университеты все еще обучают языкам, таким как Java и C++, они значительно сложнее для изучения.

Фактор #4: Проекты, которые вы можете создать с его помощью

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

Из-за повсеместного распространения JavaScript соучредитель Stack Overflow Джефф Атвуд сформулировал свой знаменитый закон:

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

И с каждым месяцем Закон Атвуда остается актуальным.

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

Python сталкивается с теми же проблемами:

“Как я могу передать эту игру, которую я сделал, своему другу? Еще лучше, есть ли способ, как я могу установить это на свой телефон, чтобы показать детям в школе, не заставляя их устанавливать? Эм.” — Джеймс Хэйг в Уход Python как языка обучения

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

Игра жизни Конвея

Игра Симон в стиле 1970-х

Поиск в Википедии на тему Звёздных войн

Игра в подземелье в стиле рогалик

Учите один язык хорошо. Затем учите второй.

Если вы постоянно прыгаете с языка на язык, вы далеко не уедете.

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

Оттуда вы можете расширяться и стать более разносторонним разработчиком, изучая множество языков:

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

Но сначала учите JavaScript.

Хорошо, теперь я собираюсь попытаться сделать невозможное — я постараюсь предугадать возражения из раздела комментариев.

Возражение №1: Но разве JavaScript не медленный?

JavaScript — для большинства практических целей — так же быстр, как и высокопроизводительные языки.

JavaScript (Node.js) намного быстрее, чем Python, Ruby и PHP.

Он также почти так же быстр, как высокопроизводительные языки, такие как C++, Java и Go.

Вот результаты самого обширного недавнего кросс-языкового бенчмарка:

Возражение №2: Но JavaScript не статически типизирован

Как и Python и Ruby, JavaScript является динамически типизированным, что удобно. Но с этим могут возникнуть проблемы. Здесь я намерен, чтобы exampleArray был массивом. Я устанавливаю его значения, а затем проверяю его длину — то есть количество элементов, которые он содержит.

exampleArray = [1, 2]
-> [1, 2]

exampleArray.length
-> 2

Но потом я случайно присваиваю ему строку.

exampleArray = “text”
-> “text”

exampleArray.length
-> 4

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

Если вам крайне необходимо иметь статическую типизацию в вашем первом языке программирования, я все же рекомендую вам сначала изучить JavaScript. Затем вы можете быстро освоить TypeScript.

“TypeScript имеет кривую обучения, но если вы уже знаете JavaScript, это будет плавный процесс.” — Алекс Эверлоф о TypeScript

Возражение №3: Но я действительно хочу сделать мобильное приложение

Я все же рекомендую сначала изучить JavaScript.

  1. JavaScript предлагает несколько инструментов для создания нативных мобильных приложений, таких как Angular Cordova и React Native.
  2. Чтобы ваше мобильное приложение действительно могло выполнять какие-либо интересные функции, ему, вероятно, понадобится полноценный бэкенд, который вы захотите создать с помощью подходящего веб-фреймворка, такого как Node.js + Express.js.

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

Для начала, несмотря на то, что люди активно используют мобильные приложения, почти половина всех вакансий для разработчиков связана с веб-разработкой. В то время как лишь 8% вакансий касаются разработки мобильных приложений.

Разработчики по профессии, согласно опросу Stack Overflow 2023 года. На этот вопрос ответили 76,872 разработчика, поэтому результаты достаточно репрезентативны.

Грандиозное видение «для этого есть приложение» не осуществилось. Вместо этого большинство владельцев смартфонов перестали загружать новые приложения.

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

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

Практически вся разработка — это веб-разработка. Все связано с этой большой платформой, которая называется «веб». И следующая волна устройств, с которыми вы будете взаимодействовать в вашем доме, и автомобилей, которые будут забирать ваших детей из школы — все они также будут объединены через веб.

А это значит, что это будет JavaScript.

Возражение #4: Разве JavaScript не игрушечный язык, написанный за 10 дней?

У JavaScript есть странная история.

Вы, безусловно, услышите, как люди шутят на его счет.

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

Поэтому, если кто-то когда-либо будет прикалываться над вами за то, что вы изучаете JavaScript вместо языка недели, просто вспомните знаменитые слова создателя C++:

“Существует только два типа языков программирования: о которых люди всегда жалуются, и те, которые никто не использует.” — Бьёрн Страуструп

Я пишу только о программировании и технологиях. Если вы подпишетесь на меня в Twitter , я не потрачу ваше время. ?

Содержимое этой статьи было переведено из оригинальной статьи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *