fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Какой язык программирования следует изучать в первую очередь в 2022 году? Решено

Какой язык программирования следует изучать в первую очередь в 2022 году? [Решено]

Квинси Ларсон

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

Обычно это что-то вроде “Learn ______”.

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

А ведь есть еще и остальные. Мы, скорее всего, будем искать что-то вроде:

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

Кредит на изображение

Выбор своего первого языка программирования может быть увлекательным процессом – что-то вроде викторины “Какой вы персонаж Квентина Тарантино?”.

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

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

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

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

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

Серьезно. Посмотрите на эту статью, опубликованную в прошлом месяце:

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

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

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

Но под ними скрывается Маленький Двигатель, Который Мог, медленно набирающий популярность в течение последних нескольких лет. И этот моторчик – JavaScript.

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

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

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

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

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

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

“Обучение компьютерным наукам не может сделать кого-либо опытным программистом, так же как изучение кистей и пигмента может сделать кого-либо опытным художником”. – Эрик С. Реймонд

По состоянию на 2016 год многие университеты по-прежнему относятся к программированию как к информатике, а к информатике – как к математике.

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

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

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

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

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

И еще одно изменение должно… в конце концов… произойти.

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

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

Более половины всех разработчиков используют 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’s 2016 State of the Octoverse

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

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

Несмотря на то, что в университетах все еще преподают такие языки, как Java и C++ в качестве первого языка, их гораздо труднее выучить.

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

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

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

И с каждым месяцем закон Этвуда становится все сильнее.

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

Python страдает от тех же проблем:

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

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

Игра Саймона в стиле 1970-х годов Игра Конвея “Игра жизни” Поиск в Википедии на тему “Звездных войн” Игра-бродилка по подземельям в стиле roguelike.

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

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

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

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

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

C++ отлично подходит для разработки игр.

Python отлично подходит для науки и статистики.

Java важен, если вы хотите работать в крупных технологических компаниях.

  • Но сначала выучите JavaScript.
  • Хорошо, сейчас я попытаюсь сделать невозможное – я попытаюсь предугадать возражения из раздела комментариев.
  • Возражение №1: Но разве JavaScript не медленный?
  • JavaScript – для большинства практических целей – так же быстр, как и высокопроизводительные языки.

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

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

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

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

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

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

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

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

Для того чтобы ваше мобильное приложение действительно делало что-то интересное, ему, вероятно, понадобится соответствующая внутренняя часть, которую вы захотите создать с помощью соответствующего фреймворка для веб-разработки, например, Node.js + Express.js.

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

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

Профессии 49 525 разработчиков, основанные на ответах на опрос Stack Overflow 2016 года.

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

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

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

  1. По состоянию на 2016 год практически вся разработка – это веб-разработка. Все затрагивает эту большую платформу – “веб”. И следующая волна устройств, с которыми вы будете общаться у себя дома, и автомобили, забирающие ваших детей из школы, – все они тоже будут объединены с помощью веб-технологий.
  2. А это означает JavaScript.

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

Вы, несомненно, услышите шутки в его адрес.

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

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

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

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

Квинси Ларсон

Какой язык программирования следует изучать в первую очередь в 2022 году? [Решено]

1*7kbd-tVk3co-9RiilFN1TA

1*OF594B5qtCJR9MFSRTI-5g

1*znaagCC5fn0-Dqy43ILeqQ

1*eu4cWRZXUt3ybNFzeT-q8Q

1*8yWwh_UrWeoxYSVsWTnEBA

1*728HWv2YP3PjY1_QmGQg1g

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

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