Оправдана ли популярность JS и Python?
Мир кода, как и наша вселенная, постоянно развивается и расширяется: появляются новые технологии, методы решения старых проблем и возможности для изучения. Сегодня многие профессии в сфере информационных технологий требуют уверенного владения основными языками программирования.
Язык программирования является важнейшим условием почти для всего, будь то веб-разработка, машинное обучение или анализ данных. И каждый год мы видим, как рейтинг этих языков колеблется в зависимости от востребованности и популярности среди разработчиков. Согласно GitHub и TIOBE, сегодняшний день насчитывается не менее 253 языков программирования, из которых лидирующие позиции занимают JavaScript и Python. О них и пойдет речь в этой статье.
JavaScript – это не просто язык программирования, а настоящее открытие IT-среды второй половины 20-ого века. Никто не мог тогда и подумать, что JS сохранит свои лидирующие позиции и не будет иметь конкурентов в своей области. Считается, что это самый популярный язык программирования в мире, который пользуется большим спросом среди различных организаций. Изначально JS использовался только для разработки веб-браузеров, но теперь он применяется для создания веб-сайтов с серверной поддержкой и приложений, не связанных с веб-браузерами.
JS был создан в 1995 году в Америке программистом Бренданом Эйхом и первоначально был известен как LiveScript. Однако в то время Java был самым популярным языком, поэтому JS рекламировали как «младшего брата» Java. Со временем JavaScript стал полностью самостоятельным языком.
Если проводить аналогию, то можно сказать, что JS – некий «волшебник», оживляющий веб-страницу и браузер: например, уже знакомый HTML отвечает за разметку сайта, CSS – за его внешний вид, и, наконец, JS реализует все процессы. Программисты уверены, что с помощью JS написание программы занимает значительно меньше времени.
Добавление элементов «поведения» на веб-страницы является основой повсеместного распространения JS. Многие из этих «поведений» были упомянуты как:
-показ или скрытие информации
-отображение таймера или обратного отсчета
-карусели галерей на домашних страницах и многое другое
JS используется каждый день, и мы даже не подозреваем, насколько часто. Например, вы зашли на сайт, кликнули мышью, или же страница закончила загружаться, то JS непосредственно реагирует на эти изменения выполнением определенных функций. То же самое работает и с вводом данных на сайте: JS позволяет проверить заполненность всех требуемых полей (ФИО, адрес, e-mail) и, в конце концов, правильность их заполнения (в графе, где нужно писать буквами, код не позволит поставить цифру).
Довольно сложно выделить какие-то определенные индустрии, в которых JS был бы востребован, так как он используется абсолютно во всех сферах, начиная от обслуживания бизнеса и заканчивая рекламой и маркетингом. Поэтому сейчас действительно невозможно представить жизнь без JS, ведь аналог с такой продуманной системой на данный момент не найти, хотя не стоит забывать о существовании Python, который наиболее прост в использовании, но не обладает таким обширным набором инструментов (например, поддержка скриптов популярными браузерами, интеграция с версткой страниц) как JS.
В течение последних лет Python остается любимым языком практически всех тех, кто только начинает заниматься программированием. Основной причиной этого является простой синтаксис, который делает Python легким для чтения, изучения и использования.
Он обладает открытым исходным кодом, обширными модулями поддержки, удобными структурами данных и графическими интерфейсами для приложений на рабочем столе. В отличие от некоторых других языков, он использует простые переносы строк вместо символов для определения блоков кода. Python также помогает ускорить разработку благодаря встроенным классам и функциям, а также обширному набору библиотек, которые делают написание кода более быстрым и легким. Кроме того, поскольку язык интерпретируемый, становится возможным выполнять и тестировать код сразу после его написания без промежуточного процесса сжатия.
Универсальность Python позволяет использовать его в различных отраслях. Довольно часто его можно встретить:
-в анализе данных (составление отчетов и анализов);
-финансовый анализ (благодаря своим возможностям обработки данных и библиотек, предназначенных для финансового анализа);
-приложения для рабочего стола;
-приложения для бизнеса (Python лежит в основе таких программ для бизнеса, как Tryton и Odoo. Эти инструменты используются для развития предприятий и могут выполнять бухгалтерский учет, инвентаризацию, а также управлять взаимоотношениями с клиентами);
-разработки пакетов 2D-изображений и 3D-анимации, таких, как Blender, Inkscape и Autodesk.
В зависимости от назначения использования языка программирования будет зависеть и выбор – либо Python, либо JS.
Как у разработчиков, так и у исследователей расходятся точки зрения в выборе языка программирования: кто-то считает, что Python намного лучше, так как обладает множеством библиотек для научных вычислений, аналитикой данных и машинным обучением в то время как JS ими не обладает. Более того, Python поддерживает множество числовых типов данных, таких как int, float, десятичная дробь с фиксированной точкой, в то время как JS работает в основном с переменными с плавающей точкой. В целом, Python считают самым оптимальным языком для выполнения задач, так как потраченное время сводится к минимуму, в то время как для JS потребуется намного больше времени.
Другие больше склоняются к тому, что для разработки веб-сайтов JS подойдет намного лучше, чем Python по одной простой причине: JS работает в браузере, в то время как Python является внутренним серверным языком. Хотя Python частично применяется для создания веб-сайта, но при этом его нельзя использовать отдельно как JS.
Однако с уверенностью можно сказать, что оба этих языка будут лидировать в ближайшие годы по той простой причине, что Python обладает как простотой обучения, так и огромным количеством библиотек и широтой применения, а JS обладает фреймворками для создания приложений и веб-сайтов, то есть по сути это единственный язык программирования для браузеров. Python будет главенствовать в мире машинного обучения, науки о данных и нейронных сетей, а JavaScript – в мире веб-разработки приложений, работающих в режиме реального времени.
JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году?
Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой индустрии, видел, как технологии приходят и уходят. Иногда эти технологии проводят свою недолгую жизнь практически незаметно. Технологиям нелегко выживать в мире программирования.
Но если вспомнить прошлое, окажется, что языки программирования имеют огромную историю. В их истории было множество заметных событий, оказавших серьёзное влияние на индустрию. Например, C и Java, одни из самых старых языков программирования, до сих пор находят широкое применение. Но если поинтересоваться их популярностью, окажется, что сейчас они занимают не самые высокие позиции.
Я — программист. Мне очень нравится JavaScript (у меня с этим языком, так сказать, «вечная связь»), я пишу на этом языке уже давно. Но если немного оглядеться, то можно заметить, что в мире разработки ПО есть и другие языки. Предлагаю поразмыслить о том, что лучше использовать для серверной разработки в 2021 году: JavaScript, Python или Go. Но, прежде чем говорить о сильных сторонах каждого из этих языков, давайте взглянем на результаты некоторых исследований.
Результаты исследований и другие данные
▍Исследование Stack Overflow
Ежегодное исследование Stack Overflow — это самое масштабное из существующих мероприятий, направленных на изучение мнений программистов по различным вопросам, касающихся современных технологий. В нём, в 2019 году, приняло участие более 90000 программистов. По его результатам можно сделать вывод о том, что лидером среди языков программирования является Python. А второе и третье места, соответственно, занимают JavaScript и Go. Но это, напомню, исследование 2019 года. За год много чего может измениться. Например, Go — это язык, который развивается крайне быстро, и популярность которого постоянно растёт. Я думаю, что в аналогичном исследовании этого года мы, возможно, увидим другую таблицу лидеров.

Результаты исследования StackOverflow
▍Рейтинги GitHub (GitHut)
Ниже показан график GitHut 2.0, который демонстрирует количество PR, сделанных с 2013 по 2019 год с разбивкой по языкам программирования. Как видно, JavaScript уверенно обходит все остальные языки. Python занимает второе место, а Go тут даже и не видно.

GitHut 2.0, данные по PR
Но если проанализировать рейтинги языков программирования, взглянув на таблицу, расположенную ниже графика, то окажется, что популярность Go растёт, а популярность JavaScript и Python падает.

Популярность Go растёт, а популярность JavaScript и Python падает
▍GitHub-репозитории
Давайте заглянем в GitHub-репозитории, связанные с интересующими нас языками, и посмотрим на то, насколько активно ведётся работа над ними.



Видя эти данные, несложно сделать вывод о том, что Go пользуется большим вниманием разработчиков. У соответствующего репозитория больше наблюдателей, чем у репозиториев, связанных с двумя другими языками, у него больше звёзд. Правда, у этого репозитория меньше форков, чем у двух других.
Теперь давайте поговорим о том, в каких ситуациях может быть интересен каждый из обсуждаемых нами языков.
Python
Python — это высокоуровневый язык программирования с динамической типизацией, который уже много лет пользуется популярностью в IT-индустрии. А именно, на что указывают результаты множества исследований, Python можно назвать самым популярным языком программирования прошедшего десятилетия.
▍Сильные стороны Python
- Python позволяет быстро решать сложные задачи, создавая при этом небольшие объёмы кода.
- Python упрощает использование сложных конструкций благодаря простому, но мощному синтаксису.
- Это — высокоуровневый язык. Поэтому тому, кто им пользуется, не приходится заботиться, как при C++-разработке, о чём-то вроде управления памятью.
- Это — кросс-платформенный язык. То есть — Python-приложения можно запускать на Windows, Mac и Linux.
- Вокруг Python сложилось огромное сообщество. Если вы столкнётесь с какой-то проблемой — всегда найдётся тот, кто сможет вам помочь.
- Существует множество библиотек, фреймворков, вспомогательных инструментов для Python. То есть — какая бы перед вами ни стояла задача, весьма вероятно то, что кто-то её уже решил. Ведь Python используется для решения самых разных задач уже более 20 лет.
JavaScript (Node.js)
Лично мне очень нравится платформа Node.js. Именно с неё я начал заниматься серверной разработкой. До сих пор я говорил о языках программирования. Но здесь мне хотелось бы поговорить о Node.js, об одной из самых популярных платформ, предназначенных для выполнения JavaScript-кода. Как всем известно, платформа Node.js популярна в IT-индустрии в качестве среды для разработки серверных приложений. Одна из основных причин этого заключается в том, что эта платформа основана на JavaScript. Если вы — JS-разработчик, то вы без особых сложностей можете стать фулстек-программистом. Это — одно из конкурентных преимуществ того, кто знает JavaScript.
▍Сильные стороны JavaScript и Node.js
- Платформа Node.js поддерживает эффективные механизмы ввода-вывода, использование которых не блокирует выполнение основного кода программы. Это говорит нам о том, что Node.js — это по-настоящему быстрая платформа. Дело в том, что чтение и запись файлов — это одна из важнейших задач серверов. Node.js справляется с этой задачей очень хорошо.
- Для того чтобы создавать фронтенд- и бэкенд-приложения, достаточно знать один язык — JavaScript.
- Платформа Node.js используется крупными компаниями, такими, как Uber, LinkedIn, Netflix и Facebook.
- Node.js-приложения являются кросс-платформенными. Их можно запускать на Windows, Mac и Linux.
- Вокруг Node.js и JavaScript сложилось огромное сообщество. Вот, например, группа любителей Node.js, в которую вхожу и я. Кроме того, существуют Slack-каналы и дискуссии на Stack Overflow, посвящённые Node.js и JavaScript.
- Node.js — это не некая система, перегруженная возможностями. То есть — перед нами платформа для выполнения кода на сервере, на базе которой можно, пользуясь самостоятельно подобранными фреймворками и библиотеками, создать именно то, что нужно. Среди популярных Node.js-фреймворков можно отметить Express.

JavaScript пользуется популярностью в клиентской и серверной разработке
Если говорить о средней зарплате Node.js-разработчика в США, то это будет что-то в районе $48,000 — $130,000 в год.
Go
Go — это опенсорсный язык программирования, применение которого облегчает разработку простых, надёжных и эффективных приложений. Он появился в 2009 году, но не стал столь же популярным, как Python и JavaScript. Однако Go с тех пор два раза называли «языком года». 67,9% разработчиков, участвовавших в исследовании Stack Overflow, назвали Go своим самым любимым языком. Очевидно, всё это происходит не без причины.

Самые любимые языки
▍Сильные стороны Go
- Go — это C-подобный язык, поэтому тому, кто знаком с C или с другими похожими языками, не придётся, осваивая Go, изучать что-то совершенно новое.
- Go — это кросс-платформенный язык.
- Это — простой язык. Почему? Дело в том, что в нём есть всего 25 ключевых слов, а количество структур данных меньше, чем в других языках. В нём нет классов. В Go имеются только функции и типы данных.
- Это — надёжный язык, позволяющий разрабатывать высокопроизводительные приложения. Он поддерживает конкурентность и разработку серверного кода, что называется, «из коробки».
- Обновления Go выходят не слишком часто. А при выходе обновлений не страдает обратная совместимость. Старый код остаётся полностью работоспособным при выходе новых версий языка.
- В наши дни Go — это уже зрелый язык. В частности, если говорить о вспомогательных инструментах, в экосистеме Go есть стандартный менеджер пакетов и фреймворк для тестирования кода.
Если взглянуть на среднюю зарплату Go-разработчика в США, то это будет что-то вроде $45,000-$130,000 в год
Мои самые любимые вещи в жизни не стоят никаких денег. Для меня совершенно ясно, что самый драгоценный ресурс, который у нас есть – это время.
Стив Джобс
Итоги
Go, как видно, очень хорошо чувствует себя в последние несколько лет. Кроме того, если судить по результатам исследований, то окажется, что Go показывает лучшую динамику роста, чем JavaScript и Python. В результате можно говорить о том, что в оставшиеся месяцы 2020 года эта тенденция продолжится. И я, даже хотя моим первым серверным языком был JavaScript, отдаю первое место Go.
Какой язык вы назвали бы самым перспективным языком для серверной разработки в 2021 году?
Python VS.JavaScript: что выбрать начинающему разработчику
Python и JavaScript — два основных и самых распространенных языка программирования, на которых пишутся многие программы. Однако в мире IT постоянно происходят какие-то изменения и появляются нововведения. Из-за этого порой возникает дилемма, какой из языков учить или какому отдать предпочтение. Чтобы понять, нужно сравнить их основные характеристики:
Используется только на серверной и стороне программирования.
Как выбрать подходящий язык
На первый взгляд сложно отдать предпочтение Python или JavaScript. Оба языка характеризуются рядом особенных свойств, которые дают им преимущества друг над другом. Чтобы понять, какой из них начинать изучать, можно сравнить их по ряду характеристик:
- простота и дружественность к начинающим разработчикам. Оба языка не являются сложными. Но считается, что в изучении проще все-таки Python. Он спроектирован так, что его быстрее получится понять и усвоить;
- универсальность. В мире программистов считается, что Python более удобен в этом плане. Его можно использовать при веб-разработке, создании систем ERP и он подходит для разработки в области ИИ, анализа данных и машинного обучения. JavaScript не столь универсален, но в отличие от Пайтона, этот язык подходит, как для бэкенда, так и фронтэнда, удовлетворяет запросы фулд-стек разработчиков;
- масштабируемость. Этот параметр важен для обработки большого потока трафика. Важно, чтобы язык справлялся с этой задачей при минимальном вовлечении сервера. Однако в этом вопросе много зависит от мастерства программиста. Если он создаст код, который можно масштабировать, то работать будут оба языка. Но наряду с этим важно учесть, что Python не способен поддерживать асинхронное программирование (в отличие от Node.js), но зато в нем предусмотрена поддержка coroutines, который упрощает асинхронную обработку.
Отметим также востребованность. Считается, что JavaScript, как более современный, характеризуется более широким применением. Но питон постоянно совершенствуется, у него огромные библиотеки для анализа, вычисления и машинного обучения, поэтому он тоже востребован в мире разработки.
С чего начать изучение JavaScript
Выучить этот язык могут даже начинающие программисты. В его основе переменные, функции, типы данных, переменные и операторы. Но желательно перед этим выучить языки разметки CSS и HTML, а также каскадные таблицы со стилями, которые нужны для написания статичных веб-страниц.
Разобраться со всем человеку, который не знаком с программированием, будет непросто. Лучше учить язык под руководством специалиста. Например, можно записаться на курс JavaScript с Buki, где подобраны преподаватели, готовые объяснить и помочь разобраться с непонятными моментами.
Что нужно знать об изучении Python
Питон считается самым простым языком программирования, освоить который можно даже своими силами, по самоучителю или литературе, но лучше делать это на курсах или под руководством специалиста. Он работает по принципу программирования в традициях Lisp.
Характерной чертой Питона является простой синтаксис, логичность и сбалансированность. Также в этом языке заложены сразу несколько парадигм, поэтому можно писать код, как в функциональном, так и ООП стиле.
Подводя итог, отметим, что знание языков программирования — это крутой хардскил, который поможет получить должность разработчика и построить карьеру. Притом, вовсе не обязательно ограничиваться изучением только Python или только JavaScript. Эти языки решают разные задачи и востребованы в мире разработки. Выбирать определенный нужно исходя из будущей специализации. Также параллельно можно освоить и другой язык, тем самым улучшив свои скилы и открыв путь к более прибыльной профессии fullstak разработчика.
Рейтинг языков программирования 2023. JavaScript/TypeScript завоевывают мир, Python вошел в топ-3
Рейтинг языков программирования показал, что JavaScript и TypeScript уже контролируют треть рынка. Java пятый год подряд теряет популярность. Python после нескольких лет негативной динамики в этом году набирает обороты.
Представляем результаты ежегодного опроса, данные и скрипты обработки можно найти на GitHub.
В конце статьи будет локальный опрос пользователей Хабр.
Релевантные материалы:
- Лучшие школы программирования в 2023 (голосование)
- Лучшие языки программирования для изучения в 2023 году | Голосование
- Рейтинг языков программирования 2022
Коммерческое использование
В этом году самым популярным языком остается JavaScript — 19% разработчиков пишут на нем коммерческие проекты. Далее — Java (14%) и Python (13%). Последний впервые среди самых популярных. С минимальным отрывом за Python идут C# и TypeScript.
Какой язык используете в работе?

Первое что бросается в глаза — стремительный рост популярности TypeScript. При этом это не только миграция JavaScript проектов, так как JavaScript тоже стали использовать чаще. Экосистема занимает новые ниши. Как мы увидим позже, TypeScript все больше становится языком выбора для новых проектов как на Back-end, так и в Full Stack разработке. Кроме того, резко выросла популярность Python, который занял третье место после трехлетнего спада. Возможно, это связано со второй волной интереса к анализу данных.
Какой язык используете в работе? (2012–2023 гг.)

Сферы использования
Интересно, что на бэкенде выросла доля как TypeScript, так и JavaScript (хотя основным языком все еще остается Java), TypeScript уже используют чаще, чем JavaScript. Доля PHP сокращается, но язык все еще входит в тройку самых популярных, вероятно, Python заменит его в следующем году.
Во фронтенде все довольно ожидаемо, однако становится заметной доля фронтендов на C# (Blazor) и Dart (Flutter Web). Видно, что переход с JavaScript на TypeScript все-таки происходит.
Основной сегмент фуллстек-разработки еще на C# с ASP.NET, но сектор JavaScript/TypeScript суммарно уже больше. Распределение далее в целом показывает те же тенденции, что и в бэкенде.
В сфере анализа данных Python остается вне конкуренции. Удивляет рост доли R и отсутствие заметной доли языка Julia.
Сфера мобильной разработки приносит нам некоторые неожиданности, такие как одновременный рост доли Kotlin и сокращение доли Swift, что отражает соотношение разработки на Android и iOS. Еще интересно, что Flutter теперь используют чаще, чем React Native, в сегменте мультиплатформенных мобильных приложений.
В области DevOps основным языком, как и раньше, является Python. Ну и Embedded-разработка довольно консервативна. Как и раньше, большинство проектов написаны на C и C++, но видно, что с ростом мощности встроенных систем появилось место и для Python. Еще небольшой сегмент Embedded-разработки на Java — микрокарты — сейчас почти исчез.
Рейтинг языков программирования по сферам использования
Back-end

Front-end

Full Stack

Data processing

Mobile

DevOps

Embedded

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

Рейтинги личных предпочтений
Среди предпочтений разработчиков видим те же тенденции, что и в основном блоке. Разве что переход от JavaScript к TypeScript является более заметным.
Интересная ситуация в Embedded-специализации: там большинство людей думает, что новый проект лучше начинать на C++, также третьим наиболее подходящим языком является Rust.
Если бы вы сейчас начинали коммерческий проект и у вас была свобода выбора, какой бы язык выбрали?

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

На этот раз самым любимым языком оказался Swift. В зоне риска ожидаемо находятся языки программирования прошлого века. Время, когда о расцвете Pascal будут вспоминать как о «золотые времена», еще не наступило.
Какой следующий язык выберут те, кто сейчас пишет на Erlang? Из трех заявок — две на Go и одна на Elixir. Для языков программирования баз данных наиболее частой альтернативой является Python.
Самым парадоксальным кажется выбор следующего языка пользователями PHP — это Go, хотя ниша разработки на Go заметно другая.
Какой бы язык вы выбрали для следующего проекта по специализациям
Back-end

Front-end

Full Stack

Mobile

Embedded

Изучение новых языков
Около трети респондентов планирует изучить еще один язык программирования в этом году. Как и ранее, рекордсменом является Go, затем — Python и Rust.
Какие языки программирования вы собираетесь изучать в следующем году?

Большинство планирует изучить следующий язык самостоятельно или с помощью коллег. Обратиться к профессиональным преподавателям в дополнение к самостоятельному изучению есть в планах примерно у 24% респондентов, а 6% в первую очередь будут искать курсы и профессиональных преподавателей.
Какие языки вы собираетесь изучать в следующем году (2018-2023 гг.)?

Сейчас у большинства новичков первым языком программирования является JavaScript, но также заметно растет роль Python. С одной стороны, возможно, это отражение того, что Python больше подходит для обучения, чем JavaScript, с другой стороны — данные показывают, что большинство из тех, для кого JavaScript был первым языком программирования, сейчас работает в экосистеме JavaScript/TypeScript, а для кого Python — на Python. Так что, возможно, это просто разделение траекторий обучения.
Первый язык новичков

Дополнительные языки программирования
Конечно, все работают с базами данных. Картина ниже немного отличается от прошлогодней из-за изменения методологии — теперь мы объединили все языки БД в DB.
Все остальное отражает общие тенденции.
Какие языки вы используете как дополнительные

В опенсорс-проектах участвуют примерно 30% участников опроса (это меньше, чем в прошлом году).
Какие языки программирования используете в open source проектах

Интересно выделить те языки, доля которых в опенсорс-проектах больше, чем в коммерческих. Если мы отсортируем языки по такому критерию, то увидим последовательность: Haskell, Objective-C, Rust, R, C и Closure.
Финальная таблица
Язык | Используете в работе, % | Изменения | Используете в работе | Используете как дополнительные | Используете в своих проектах | Индекс предпочтения

- Рейтинг языков программирования 2022
- Лучшие школы программирования в 2023 (голосование)
Если вы хотите добавить язык программирования к голосованию на Хабр, пишите в комменте или в личку.
