рейтинг языков программирования 2021 stackoverflow

Python вышел на первое место рейтинга TIOBE, и Гвидо высказался на эту тему

TIOBE представила рейтинг популярности языков программирования на октябрь 2021 года. Python удалось занять первую строчку рейтинга, обогнав Java и C. Специалисты связывают это с ростом популярности технологий машинного обучения и науки о данных.

рейтинг языков программирования 2021 stackoverflow

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

Гвидо ван Россум (Guido van Rossum) — автор языка программирования Python, высказался на счет роста популярности детища. Программист поблагодарил сообщество за проявленный интерес к технологии и заметил, что популярным язык стал только благодаря пользователям. Также Гвидо ван Россум сейчас работает в команде Microsoft над улучшением производительности Python.

рейтинг языков программирования 2021 stackoverflowРейтинг популярности на октябрь 2021 года

TIOBE ежемесячно публикует рейтинг популярности языков программирования. Сервис основывается на подсчете результатов поисковых запросов, содержащих название языка. Для формирования индекса учитываются данные Google, YouTube, Amazon, Bing, Yahoo!, Wikipedia и Baidu. Кроме того, каждый год TIOBE выбирает язык года. В 2020 году звание досталось Python.

Источник

Рейтинг языков программирования 2021: доля Python падает, а TypeScript обошел С++, в лидерах JavaScript, Java, C#

Коммерческое использование

Что изменилось? Прежде всего привлекает внимание рост TypeScipt: похоже, он со временем станет основным языком в экосистеме JavaScript. В этом году он впервые обошел С ++ по популярности.

Еще из интересного: впервые за несколько лет мы увидели снижение доли Python: возможно, использование Data Science дошло до точки насыщения.

Впервые с 2012 года выросла доля C#. Использование Java продолжает уменьшаться, хотя и не так активно, как раньше. В общем видно уменьшение доли JVM: доля Kotlin стабильна (хотя он и уступил место Ruby), использование Scala возобновилось после значительного снижения в 2019-м и сегодня, если сравнивать с 2018-м, даже немного возросло. Еще стоит отметить незначительный рост Dart.

рейтинг языков программирования 2021 stackoverflow

Ниже приведена диаграмма с динамикой по актуальным языкам программирования по годам. Статистически значимыми являются изменения для C ++, TypeScript, Ruby, 1C, Scala, Pascal/Delphi, T-SQL. Напомним, что изменения статистически значимы, если с вероятностью 95% мы не можем получить результаты с изменениями и без, если будем равномерно выбирать две группы респондентов с одной популяции.

рейтинг языков программирования 2021 stackoverflow

Области использования

В этом году мы впервые попросили респондентов указать сферу, в которой они работают. Результаты довольно интересны.

рейтинг языков программирования 2021 stackoverflow

Давайте рассмотрим, какие языки используют в зависимости от области применения

рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow рейтинг языков программирования 2021 stackoverflow

Фактически весь фронтенд пишут на JavaScript и TypeScript. Использование других языков сугубо маргинальное. Доля TypeScript сравнительно меньше. Интересно будет посмотреть на это соотношение через год.

Личные предпочтения

Как мы уже указывали, результаты выбора программистов нельзя использовать для прогнозирования, но здесь интересно, что наконец на графиках появился Rust. Опять видим некоторый спад интереса к Python и тенденцию перехода с JavaScript на TypeScript.

рейтинг языков программирования 2021 stackoverflow

рейтинг языков программирования 2021 stackoverflow

Интересно, что здесь данные отличаются от опроса в Stack Overflow и нашего предыдущего опроса: Rust расположен заметно ниже. Наиболее довольны пользователи Elixir (возможно, это миграция Erlang-комьюнити), также обращает на себя внимание место Clojure.

Если посчитать отдельно индекс удовлетворения по сферам применения, то результаты почти совпадают.

Изучение новых языков

Фаворитом, как и в предыдущие годы, стал Python. Его собираются изучать почти 18% из тех, кто будет осваивать новый язык. Но все-таки эта доля меньше, чем год назад. Ну а наибольший рост у TypeScript и Rust.

рейтинг языков программирования 2021 stackoverflow

Финальная таблица

рейтинг языков программирования 2021 stackoverflow

Дополнительные данные

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

рейтинг языков программирования 2021 stackoverflow

Tут можно сделать вывод, что, поскольку доля разработчиков с опытом в 1 год уменьшилась => в IT пришло меньше новичков, чем в прошлом году.

Но все равно в большинстве это специалисты с менее 5 лет опыта работы в ИТ.

рейтинг языков программирования 2021 stackoverflow

Рассмотрим корреляцию между возрастом и языком программирования.

рейтинг языков программирования 2021 stackoverflow

рейтинг языков программирования 2021 stackoverflow

рейтинг языков программирования 2021 stackoverflow

Данные и скрипты обработки можно найти на GitHub.

Источник

Рейтинг языков программирования в 2021 году

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

Например, в середине в 80-х стал очень популярен язык Prolog, но потом его популярность резко снизилась. И сейчас на нем практически никто не пишет. А место популярного новичка занял Python.

рейтинг языков программирования 2021 stackoverflow

Как же узнать рейтинг языков программирования? Общего рейтинга не существует, так как нет простого способа собрать подобную статистику. Но существуют разные способы оценки популярности языков программирования. Рассмотрим самые популярные рейтинги.

1. Рейтинг TIOBE Index

Рейтинг TIOBE Index построен на оценке результатов поисковых запросов, содержащих название языка. Логика этого индекса очень проста: «Если язык ищут в поисковых системах, то он популярен». Конечно же, это заявление спорное, потому что программисты-профессионалы крайне редко будут искать в поисковике именно название языка программирования. Они чаще ищут решение конкретной задачи. Но громадный плюс этого рейтинга в том, что он достаточно объективно показывает интерес к тому или иному языку.

Индекс TIOBE показывает самые популярные языки программирования, информации о которых искали на 25-ти самых популярных поисковых системах, то есть запросы вида: «+» programming». Индекс обновляется раз в месяц.

Индекс TIOBE на март 2021 года выглядит так:

рейтинг языков программирования 2021 stackoverflow

На графике изменений индекса хорошо видны как менялась популярность языков программирования. Но при этом первое-второе место постоянно делят два языка Java и C. Хотя Java активно продвигается компанией Oracle, а язык C никто не продвигает.

И еще интересно то, что C++ ни разу не смог превысить по популярности C.

рейтинг языков программирования 2021 stackoverflow

2. Рейтинг Wappalyzer для веб-приложений

Сервис Wappalyzer использует различные методы для идентификации веб-технологий. Рейтинг языков программирования для разработки сайтов на январь 2020 выглядит так.

рейтинг языков программирования 2021 stackoverflow

В веб-программировании однозначно лидирует язык PHP, почти 80% сайтов написано на этом языке.

4. Рейтинг IEEE Spectrum

Ежегодный рейтинг IEEE Spectrum Top Programming Languages использует 11 метрик из 8-ми источников, включая поисковые запросы, упоминания в твиттере и даже упоминания в вакансиях на работу программиста. С одной стороны этот рейтинг использует больше данных, но с другой стороны во многих источниках данные имеют связанный характер. Чем больше публикуются вакансий на некоторый язык программирования, тем больше запросов будет в поисковых системах. То есть у новых языков больше шансов попасть на вершину рейтинга.

Рейтинг IEEE за 2020 год выглядит так:

рейтинг языков программирования 2021 stackoverflow

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

5. Рейтинг Stack Overflow

Сайт Stack Overflow — это площадка, на которой разработчики могут задавать и отвечать на вопросы по программированию. Этот сайт имеет около 40 миллионов посещений в месяц. Есть русскоязычная версия сайта: ru.stackoverflow.com

Этот рейтинг рассчитывается на основе опроса разработчиков. В 2020 году было опрошено более 65 000 разработчиков и составлен рейтинг языков программирования. Скорее это рейтинг языков, которые вызывают вопросы. В этом рейтинге лидером стал JavaScript.

рейтинг языков программирования 2021 stackoverflow

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

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

6. Вакансии на Head Hunter

Можно подойти к рейтингу языков программирования с другой стороны и посмотреть, какие языки указываются в вакансиях и сколько собираются платить. Одна из самых популярных площадок для поиска работы в IT-сфере — это сайт HeadHunter. Там есть отдельный раздел — вакансии для программистов.

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

рейтинг языков программирования 2021 stackoverflow

Здесь видно, что программист, знающий Pascal (среда Delphi), все еще востребован.

7. Google Books Ngram Viewer

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

В начале этой статьи приведены графики использования слов Prolog и Python. А теперь введем JavaScript, Python и PHP.

рейтинг языков программирования 2021 stackoverflow

Видно как в 1992 году появляется интерес к JavaScript и он быстро обгоняет Python и PHP.

Похожие записи:

Комментарии 31

Совсем мелкая ошибка в предпоследнем предложении. Вы написали «В начале этой статьи приведены графики использования слов Prolog и Pascal», а там были Prolog и Phyton.

Не Phyton а Python. (Pascal мой первый язык программирования (Turbo, а далее Delphi))

«Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинг языков программирования.» — совет неоднозначный. Профессионал обычно хорошо знает 1-2 языка и специализируется на них довольно долго. Изучение другого языка происходит обычно по причине старта какого-нибудь проекта, или тупика в карьере с текущими знаниями.

Здравствуйте! Спасибо за статью!
Хотел бы узнать Ваше мнение насчет языка программирования Prolog. Дело в том, что язык программирования Prolog используется в разработке программ для искусственного интеллекта.Так как технологии искусственного интеллекта развиваются все интенсивнее, не станет ли язык программирования Prolog популярным, ну или востребованным?

Здравствуйте! Язык Prolog стал популярен в 1980-х годах в связи с японской программой создания программы искусственного интеллекта. Но эту программа кончилась грандиозным провалом. В результате все наработки были розданы бесплатно и никаких полезных программ так и не было создано. Поэтому сейчас Prolog полностью морально устарел и не используется. Даже если и будет новый прорыв в разработке искусственного интеллекта, то, скорее всего, он будет связан с другой технологией и другим языком программирования.

В девяностом году шеф мой взял аспиранта себе на написание САПР, типа Симулинк в Матлабе. Тогда ещё XT-шки были в диковинку. И был в то время бум создания «Искусственного интеллекта». Ходили шутки, что это нужно, когда своего интеллекта не хватает. Ну и аспирант этот решил создавать этот САПР на языке Пролог. Тогда ещё книг, типа Братко не было. В ДОСе работали. Ну и он разобрался в языке этом глубоко так. Ему понравилось в нём лазить по деревьям и делать откаты. В других языках это геморройно было, а в Прологе это вшито как аксиома (исходные кирпичики языка). То есть если программа заходит в тупик, то как-то самореализуется всё там, что она, делая откаты назад сама ищет выход из этого тупика. И аспиранту это нравилось в ней. Написал он в ней САПР свой, «Гаммой» назвал его, была куча публикаций. Но потом бросил заниматься этим и диссертации не защитил. Его пригласили в СберБанк программистом работать, а там зарплаты уже со стипендией аспиранта не сравнить. Так всё это и забросилось. Отчёт в семи томах кода сохранился с той поры и валяется где-то. У меня на даче очень много книг по Прологу на чердаке стопками лежит не тронутых, а Братко, по моему, аж десять экземпляров. В то время хлеб стоил сто рублей, а книги эти по рублю продавались. На растопку жалко их рвать…

у меня тоже лежит экземпляр книги по Прологу и не выбросил до сих пор в макулатуру. Да и другие книги по выч-технике и програм-ю 80-х и 90-х годов. В библиотеку их не возьмут. А ещё 3-х томник Ленина и т.п.

Интересный обзор! А что вы можете сказать про Rust в контексте перспективы дальнейшего развития?

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

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

Как видно из обзора функциональные языки программирования типа Lisp — практически не используются в настоящий момент? Это очень узкая сфера использования? Или есть другие причины?

Источник

Рейтинг: 10 самых популярных языков программирования 2021-го года

Всем привет! В этой статье я собрал ТОП-10 самых популярных и перспективных языков программирования в 2021 году. Ну что, погнали?

О принципе составления рейтинга

Я рассматривал следующие факторы каждого из языков программирования:

Но не забывайте, что у каждого из вас тоже есть своё мнение, которое можно выразить, проголосовав за один из языков или написав своё мнение в комментариях 😉

Рейтинг самых популярных языков

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#10#9$57 000

SQL (Structured Query Language) — язык, который используют для управления базами данных.

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

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

Курсы по SQL:

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#5#10$59 000

Сейчас спрос на C#-разработчиков небольшой, но в большинстве случаев заказчиков не интересует инструмент выполнения и важен только результат. Так что вы смело можете использовать этот язык.

Курсы по C#:

Visual Basic

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#6#25$55 000

Visual Basic — язык и среда программирования, которые, так же как и C#, разрабатываются компанией Microsoft. Язык унаследовал многие черты от своего предка — BASIC, так что он оправдывает своё название.

Курсы по VBA:

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#2#7$52 000

Java — один из самых известных языков программирования, который долгое время держался на первом месте по популярности.

Причиной служит широкий спектр применения, а также кроссплатформенность. Java поддерживает такие платформы, как Windows, Linux, Mac, Android, Solaris.

Сейчас язык хоть и потерял своё первое место в рейтинге, но используется (и будет использоваться) для разработки веб-серверов, приложений под Android, десктопных приложений.

Курсы по Java:

Kotlin

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#30#6$57 000

Kotlin — сравнительно молодой язык программирования от российской компании JetBrains. Он работает поверх Java Virtual Machine и поэтому тоже является кроссплатформенным.

Язык стал популярным после того, как в 2017 году на него обратила внимание компания Google.

В 2019 Kotlin был официально признан приоритетным языком для Android-разработки.

JavaScript

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#7#2$56 000

JavaScript — встраиваемый язык программирования. Его можно найти практически на любой веб-странице (да-да, и на этой тоже 😁).

Тем не менее, область применения языка не ограничивается веб-разработкой — существует Node.js, который позволяет писать самые разные приложения.

Сейчас на JS создают веб-сайты, ботов для социальных сетей, десктопные и мобильные приложения.

Курсы по JS:

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#12#3$80 000

Go — язык с широкой областью применения, но на нём в основном пишут веб-сервисы. Он был разработан внутри компании Google, а одним из создателей Go был основатель языка программирования C.

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

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

Курсы по Go:

Python

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#3#1$63 000

Python — язык, целью создания которого было упрощение разработки и увеличение её скорости.

Его синтаксис минималистичен, а освоить азы программирования на этом языке может даже дошкольник. Сфера применения языка также очень широка.

Но у этой простоты есть и обратная сторона — разработчиков на Python сейчас много настолько, что получить работу новичку может быть очень проблематично.

Курсы по Python:

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#1#16$57 000

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

C — трудно изучаемый язык программирования. Но на нём можно написать любое приложение под любую платформу (хоть микроконтроллеры).

Также на его базе компания Apple создала язык Objective-C, который предназначен для написания приложений конкретно под Mac и iOS.

рейтинг языков программирования 2021 stackoverflow

Рейтинг TIOBEРейтинг StackOverflowСредняя зарплата
#4#8$55 000

C++ — язык программирования, построенный на базе С.

На нём куда проще разрабатывать приложения (но все равно во много раз сложнее, чем на Java или Python), а производительность, надёжность и охват платформ практически не отличаются от языка-родителя.

Под C++ создано большое число готовых библиотек и фреймворков, что значительно ускоряет процесс разработки. Еще на этом языке ведётся обучение в большинстве ВУЗов.

Источник

Пять перспективных языков программирования со светлым будущим (3 года спустя)

рейтинг языков программирования 2021 stackoverflow

В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года.
Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже пролетели, пора подвести промежуточные итоги и посмотреть, что произошло с этими языками за это время.

Однако, прежде чем мы перейдём к пятёрке наших героев, хочется уделить немного внимания предсказанному в той же статье переходу Swift и Go из второго эшелона в первый.

В исходной статье языки программирования условно делятся на 3 эшелона по популярности.
Первый эшелон включает мейнстрим-языки, такие как Java, JavaScript, Python, Ruby, C# и т.д.
Языки второго эшелона пытаются пробиться в мейнстрим, но ещё не добились этого. Они доказали свою состоятельность путем создания сильных сообществ, но они до сих пор не используются большинством консервативных IT-компаний. Большинство языков в первом эшелоне прочно укоренились на своих позициях. Поэтому выпадение языка с лидирующих позиций занимает ощутимое время, а для языка второго эшелона очень трудно пробиться в первый.
К третьему эшелону относятся непопулярные языки, а также относительно новые перспективные языки (о которых пойдёт речь), которые только начинают свой путь наверх. Некоторые языки пребывают в третьем эшелоне на протяжении многих лет, не получая популярности, в то время как другие врываются на сцену всего за пару лет.

Оба эти языка безусловно укрепили свои позиции. Swift от версии 3.0 успел дойти до 5.0 и наконец пообещал стабильность ABI. Другими словами, Apple больше не планирует раздражать программистов на Swift постоянной сменой сигнатур методов и т.д. Кроме того, Swift окончательно потеснил Objective-C, обогнав его в свежем рейтинге RedMonk и поднявшись на 6 позиций по сравнению с рейтингом 3-х летней давности. Очевидно, что тенденция продолжится, поэтому можно сказать, Swift занял своё место в первом эшелоне.

Что касается Go, то он сместился в рейтинге на одну позицию ниже (с 15-го места на 16-е), прошёл путь от версии 1.7 до 1.13, и находится в стадии глобального переосмысления обработки ошибок и наличия дженериков в языке — вопросов, которые вызывали больше всего нареканий в течение всех 12 лет его существования. В общем, Go потихоньку эволюционирует, растёт количество проектов, которые применяют его в production, но о переходе в первый эшелон пока говорить рано.

Помимо Swift и Go, стоит отметить TypeScript, который за 3 года совершил необычайный прорыв, перескочив в рейтинге с 26-го места на 10-е. Если вы занимаетесь разработкой фронтенда, но до сих пор не ознакомились с этим языком, то момент настал. Уже прям must-know.

А теперь фанфары и главная часть — наша пятёрка языков, которым пророчили переход из 3-го эшелона во 2-й. Что изменилось для них за эти 3 года?!

Для начала, сводная таблица по количественной OpenSource-активности на Github:

RustElixirKotlinElmCrystal
ReposUsersReposUsersReposUsersReposUsersReposUsers
2016514619352668861960154143319415052
20192370013500168004000243002640053009941200469
Рост4.6x7x6.3x4.6x25x17x12x5.1x8x9x

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

Понятно, что чем скромнее были позиции языка 3 года назад, тем легче показать кратный рост. Но тем не менее, с этой задачей отлично справились и Rust, и Elixir — лидеры нашей пятёрки по кол-ву репозиториев в 2016 году. Однако, самый выдающийся результат показал Kotlin, показав по-настоящему взрывной рост. О причинах поговорим чуть ниже, а пока давайте посмотрим какой путь проделали эти языки по лестнице RedMonk:

рейтинг языков программирования 2021 stackoverflow

рейтинг языков программирования 2021 stackoverflow

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

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

Как видно, все языки пятёрки существенно продвинулись к популярности (вверх и вправо). Занятный факт, что все они находятся ниже диагональной линии, что означает относительно низкую активность на StackOverflow. Впрочем, тут нет никакой загадки, у сообщества каждого из этих языков есть форум на базе Discourse, и как следствие большинство вопросов обсуждаются там, а не на StackOverflow.

В целом, все 5 языков показали хороший количественный рост. Но кто же проявил себя лучше всех? Давайте составим своеобразный Top и рассмотрим не только количественные, но и качественные критерии.

5-е место: Elm

К сожалению, Elm показал достаточно удручающие результаты. Во-первых, за 3 года вышло всего 2 релиза, причём последний на данный момент — 0.19 оказался настолько противоречивым, что даже привёл к некоторому расколу сообщества. И вот уже больше года новых версий не выпускается, хотя работа в репозитории идёт достаточно активно. При этом Эван Чаплицки (автор языка) ещё 2 года назад дал понять, что никакого вразумительного roadmap нет и не будет. При таком раскладе, Elm остаётся чисто экспериментальным языком с теперь уже сомнительным будущим. Хотя есть люди, которые по-прежнему смотрят на Elm c оптимизмом. С их доводами можно ознакомиться тут.

Стоит отметить, что ещё в комментариях к исходной статье dimsmol, fshp и hellosandrik высказывались в пользу PureScript, как более жизнеспособной альтернативы Elm. И хотя он тоже до сих пор не достиг версии 1.0, динамика релизов выглядит более обнадёживающей. Так что любителям Haskell стоит обратить внимание на этот язык.

4-е место: Crystal

Если 3 года назад Crystal вообще не было видно на графике RedMonk, то теперь он вполне уверенно ворвался в Top-100 языков программирования. А также прошёл путь от версии 0.19 до 0.30. Впрочем, столь большое количество релизов показывает не только динамичность развития языка, но и его нестабильность. К большому сожалению, план выпустить версию 1.0 в 2017 году провалился.

Как мне видится, во многом тут виновато совсем не вовремя появившееся желание реализовать поддержку Windows. Этот эпик продвигается очень медленно и требует значительных усилий от и без того маленькой команды разработки. Причём абсолютно непонятно зачем оно нужно до релиза 1.0. Основная целевая аудитория Crystal — это программисты, использующие Ruby в повседневной работе. А программировать на Ruby под Windows считалось моветоном ещё лет 10 назад. Другими словами, доля программистов, использующих Windows по работе и при этом заинтересованных в Crystal, исчезающе мала. И тратить на это огромные усилия, не имея на руках стабильной версии языка, крайне недальновидно. Ведь наличие версии 1.0 — это практически обязательное условие для побуждения средних и крупных компаний к использованию технологии.

В итоге, Crystal теряет потенциальную аудиторию, т.к. компании, которым стало тесно в рамках Ruby и Python массово переходят на Elixir и Go. А для Crystal остаётся узкая ниша компаний, чьи программисты не смогли переключиться на эти языки. И это печально, т.к. хоть Crystal и не конкурент Elixir, но вот с Go он мог бы конкурировать вполне успешно, предоставляя местами даже лучшую производительность и сравнимую функциональность, приправленную выразительностью Ruby и встроенной в компилятор защитой от nil reference.

2-е* место: Rust

Rust взял курс на выпуск новой версии компилятора раз в 6 недель и придерживается этого плана. Как результат, за 3 года язык долетел с версии 1.11 до 1.37. В этом есть свои плюсы, например, ввод новых функциональных возможностей идёт постепенно и очень плавно. Но есть и минусы, например, понадобившаяся вам библиотека может опираться на более новую версию языка, чем ваш проект, начатый 3 месяца назад. Другими словами, будьте готовы к частым обновлениям. Тем не менее Core Team понимает, что постоянные обновления могут утомлять и объявили 2019-й — годом восстановления сил и стабилизации. Делается упор на полировку того, что есть, доработку затянувшихся фич (которые были давно начаты, но не доведены до master) и организационные моменты. Кроме того планируется улучшить поддержку IDE через улучшение Rust Language Server, улучшить отладку для WebAssembly и посмотреть в сторону разработки GUI-тулкита.

В целом, Rust находится в процессе обретения статуса стабильного, сформировавшегося языка. Определенно стоит с ним познакомиться, если вам интересна high-performance разработка. Однако, сдерживающим фактором роста популярности является репутация Rust, как языка со слишком высоким порогом входа, которая отпугивает от него новичков. Поэтому сообществу ещё предстоит продолжение работы над имиджем языка в этом плане, если они не хотят пойти по пути Haskell («avoid success at all costs»). Впрочем, не пугайтесь — те, кто попробовал, его любят: Rust занял 1-е место среди The Most Loved Languages в опросе StackOverflow в этом году.

* в резюме статьи объяснено, почему 2 вторых места 🙂

2-е место: Elixir

Если Rust ещё только планирует стабилизироваться в этом году, то Elixir, пройдя за 3 года путь от версии 1.3 до 1.9, уже это сделал. В ближайшее время не планируется никаких крупных изменений или дополнений в самом языке. И есть 2 причины, по которым Elixir может себе такое позволить:

Во-первых, поскольку Elixir базируется на Erlang/OTP, он может пользоваться результатами усилий Ericsson и OTP Team по работе над рантаймом и виртуальной машиной. Elixir Team так же старается вносить свой вклад в эту работу и этот вклад ощутимо вырос за предыдущие 3 года.

Во-вторых, Elixir спроектирован как расширяемый язык. Инструменты и абстракции, которые были использованы для создания и совершенствования языка, доступны и для библиотек и фреймворков. Это означает, что сообщество может продолжать улучшать экосистему без необходимости изменений в самом языке. В том числе и сам Жозе Валим (автор Elixir) пошёл этим путём и недавно анонсировал Broadway — библиотеку, упрощающую отказоустойчивую параллельную обработку данных из произвольных источников.

В общем, Elixir уже является стабильным и полностью сформировавшимся языком, который отлично подойдёт всем, кто разрабатывает системы, нацеленные на высокую нагрузку или на высокую стабильность, или на то и другое одновременно. По сути для таких проектов особых вариантов и нет, либо использовать Erlang, либо Elixir, либо изобретать кучу собственных велосипедов. Кстати, если вы присматриваетесь к частичному внедрению Elixir в существующие проекты, рекомендую отличную книгу “Adopting Elixir”. В ней же можно почитать про опыт достаточно крупных компаний, которые уже перешли на этот язык.

1-е место: Kotlin

Безусловный лидер пятёрки — Kotlin. Ему удалось за 3 года проделать невероятный путь и практически перескочить из 3-го эшелона в 1-й, заменив Java в разработке под Android. Начиналось это с официальной поддержки Kotlin, анонсированной в 2017 году командой разработки Android. И, как следствие, его включения в Android Studio 3.0. В итоге, дружба с Android привела к тому, что 4 месяца назад Google объявил Kotlin предпочтительным выбором для разработки под Android. Конечно, этому во многом поспособствовали патентные споры Google и Oracle насчёт Java, но, разумеется, и заслуга JetBrains в этом есть. Они далеко не первые, кто захотел сделать Java с человеческим лицом, но первые кому удалось это сделать так, что отказ от Java в пользу нового языка стал мейнстримом. Мои поздравления!

Кстати, JetBrains также активно развивает Kotlin Native, позволяющий компилировать код на Kotlin в нативный бинарник.

Что касается рейтинга RedMonk, язык занимает пока что 20-е место, но это очевидно связано с тем, что Kotlin может без проблем использовать существующие Java-библиотеки, соответственно нет насущной необходимости их переписывать на него. Тем не менее, становится всё меньше причин начинать новые проекты на Java, даже если они не связаны с Android-разработкой. Так что вполне вероятно, что спустя ещё 3 года Java останется лишь в кровавом энтерпрайзе, а в остальном Kotlin займёт её место, как Swift занял место Objective-C.

Резюме

Можно сказать, что прогноз в целом оказался удачным. Хоть Elm и Crystal пока не оправдали надежд и их дальнейшее будущее пока под большим вопросом, зато остальные 3 языка проявили себя просто отлично. Kotlin при поддержке Google рванул как ракета в небеса, а Rust и Elixir полностью стабилизировались и однозначно стали production-ready языками. Я не смог выбрать, кто из них показал лучший прогресс… где-то Elixir обогнал Rust, где-то наоборот, и даже по кол-ву юзеров на форумах сообществ у них паритет (около 11 тыс. человек), поэтому в статье я им обоим отдал 2-е место. Эти языки определённо заслуживают внимания.
Да, каждый из них имеет свою нишу и на тривиальных проектах можно обойтись и без них. Зато в высоконагруженных проектах они придут на выручку и предоставят вам на выбор 2 пути: выжать максимум из железа (Rust) или обеспечить лёгкое масштабирование и отказоустойчивость (Elixir).

Источник

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

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