Как стать автором
Обновить

Рейтинг языков программирования 2023. JavaScript/TypeScript завоевывают мир, Python вошел в топ-3

Время на прочтение 4 мин
Количество просмотров 99K
Всего голосов 58: ↑56 и ↓2 +54
Комментарии 115

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

Ещё несколько лет назад и представить себе не мог, что я буду работать с TypeScript.

Вы не в ту папку зашли. По вашему это похоже на рейтинг за 2011 год?)) Сcылка на оригинал статьи в конце.

Надо в голосования внести пункт "Другой".

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

9060 анкет среди кого?

в 2011-ом dart-а не было

Так тайпскрипт в 2012 анонсировали, как это может быть рейтинг за 2011?

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

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

Приятно видеть, что в Open Source проектах активно используются такие языки, как Haskell и Rust. Они заслуживают внимания. ИМХО

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

(лично я из всех опробованных осталась довольна именно Kotlin, и использую его везде (чистый бэкенд, чистый фронтенд, фуллстек, даже удалось переписать на него браузерное расширение, впрочем, в последнем случае пришлось делать почти тяжелый фронт из-за обязательности использования webpack, зато даже с html и css билдерами вместо "родных" решений) , кроме правда пока что Native не задействовала, не нашлось пока даже игрушечного проекта под это дело. но всё же, считаю, что цель one language for anything удалась)

ого, а можете написать статью об этом?

а то у нас солянка из джавы и джаваскрипта (даже в мобильной приложухе!), все менжуются переходить на котлин

подумываю об этом, спасибо, но пока сайт (React+Ktor+Exposed) не готов в плане наполнения (только общий вид и логин+oauth) то торможу. браузерное же расширение, в целом, готово, но тоже думаю, стоит ли отдельно о нём писать - очень хотелось бы оформить сразу как всё-в-одном.

пока что на словах: бэкенд-логику вполне стоит писать понемногу на Kotlin, даже можно в солянку его добавить - интеграция отличная, разве что есть нюансы, например, с сериализацией, что значит, что стандартная джавовская не подходит совсем. а отсюда: 1. хорошо если у вас система сборки Gradle, а не Maven, 2. Hibernate сущности также придётся оставить на Java (хоть и котлиновские дата-классы выглядят красиво без всяких ломбоков) и 3. сложности с AOP. 4. DI IoC наверное сойдёт из того же Спринга, но возможно и нет (я заменила на синглтоны object и инициализацию через конструкторы, поэтому, в целом, мне DI не нужно)

фронтэнд-разработка идёт хорошо, и хорошо будет у вас если у вас фронт построен на React\Vue\Angular вместе с webpack. но, во-первых, пока у меня мало опыта с React, а во-вторых, придётся либо самостоятельно писать байдинги с JS, либо использовать Kotlin-React, который существует в 2 реинкарнациях: legacy (и проблема только в том, что legacy), а новый ещё сырой (документации почти нет, решения проблем на SO тоже маловато, всё обычно описывается для legacy-варианта) поэтому сначала может быть больно.

к сожалению, Kotlin\JS тесно связан с webpack, поэтому в разработке расширения тоже сначала пришлось подумать, как не разбивать проект на несколько, а дергать kotlin-модуль из джаваскрипта (потому что расширение - это разные html со своими js) в обход философии "у проекта есть одна точка входа" (впрочем, потом оказалось, что это необязательно и в целом, даже тот же React можно было бы всунуть)

как вариант, можно попробовать неплохой фреймворк Compose - у него интересная фишка интеграции с сервером подобно RMI (описываем интерфейс сервиса и бэк-логику, а JS вызов генерируется сам по сигнатуре интерфейса) есть собственный DI. но всё ещё есть проблема состояния, автоматической реакции на его изменение и в целом байдингов - возможно, стоит прикрутить какой-нибудь Redux или подобное, решила всё же использовать просто React.

и да, на фронте проблемы (с тем же Kotlin-React) возникают именно из его типизации: если на джаваскрипте элемент вполне может быть описан просто как "а", то здесь надо будет найти (а доки же нет) правильный импорт. при этом ReactHTML может не очень дружить с kotlin-html или w3c байдингами, хотя все они - почти то же самое, только типы разные (и w3c следует строго спеке, а значит, сложнее манипуляция элементами и, например, атрибутами) - в итоге я даже написала небольшой собственный файл байдингов для такой манипуляции

уже отлично на самом деле - уже фронт и байндинги к нему можно описать как часть1 (и потом сделать отдельную часть2).

PS: А там глядишь новая версия (и котлина и всего остального) выйдет с новыми фичами! :)

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

iOS-разработчики решили, что следующее приложение для айфонов все таки тоже на Swfit будут делать.

Я знаю, что Rust далеко не так много используется, как хотелось бы. Но когда опрос показывает, что он в три раза менее популярен чем Apex - закрадываются сомнения в достоверности опроса. Кто не знает, Apex - это язык залоченный на облачные услуги Salersforce, то есть в половине мира он просто не работает.

1С вообще неработает не то что в половине, а дай бог в 95% мира не работает.

по ответу на вопрос, "знаете ли вы что такое 1С" можно с точностью определить место жительства прогера

Приличный объём работы. Многие данные подтверждают мои собственные наблюдения. Спасибо за материал!

Радует глаз 1% фронта на c#, что больше чем у Dart. Ждём развитие Blazor и дальше.

А так же в мобильном секторе 8% с Maui.

Комментарий неактуален. Это чужой ретинг за 2011-й год.

-------------
Кто проводил опрос? Если вы, то это стоило более явно обозначить в тексте. Если вы, то кто вы? Кто «представляем результаты»? Ангольская гуманитарная миссия? ))

К тому же, только в комментариях вы написали, что обработано более 9 тыс. анкет. Ого! Но, опять-таки, анкеты откуда? Со всего мира? (б)СССР? Или, опять же – только Ангола?

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


в источнике указано

Где? (скриншот)


Где? И почему читатель должен рыскать по ссылкам, чтобы понять контекст публикации, согласитесь.

в оригинале статьи, в конце ссылка

Её не было.
И повторю вопрос: почему читатель должен рыскать, чтобы узнать, что это чужой рейтинг за 2011-й год?

Третий раз повторю: этой ссылки не было.
А до этого на Гитхабе можно было увидеть только dou.ua/lenta/articles/programming-languages-rating-2011-07/ - 2011-й.

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

этой ссылки и сейчас нет в статье, есть ссылка на репозиторий, а в нем папка 2023_01 залитая 2 месяца назад.

Кроме Pascal (Lazarus) ничего не признаю. Пишу для десктопов под Windows и Mac. Это идеальная среда разработки.

Количество минусов означает количество обиженных C++ кодеров.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

Как там живётся, в 2006 году?

Pascal и Delphi сейчас фактически единственные с GUI из коробки и компиляцией в нативный код, но примитивные IDEшки всё портят

НЛО прилетело и опубликовало эту надпись здесь

XAML Live Preview: я для вас какая-то шутка?

Pascal и Delphi сейчас фактически единственные с GUI из коробки и компиляцией в нативный код,

Враньё. C#/.Net тоже может компилиться в нативный код.

лучшее враг хорошего? или просто боитесь расширять кругозор?

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

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

Мне тоже Лазарус нравится.

Я ещё в начале 90-х на Turbo Pascal писал.

Но практически сейчас Паскаль только для личных нужд использую - скрипты для биржи пишу.

Во-первых, их не было.
Во-вторых, у меня, как у жителя России, эта ссылка заблокирована.
Какие есть ещё варианты?

Переезжайте

VPN

Чет я не понимаю как это возможно.

Вот недавно компания на Хабре публиковала статистику по вакансиям:

https://habr.com/ru/companies/getmatch/articles/722246/

и там С++ разработчики - ну, если не на дне, то сильно ниже среднего.

очень просто. Плюсовики и Хаскелисты это .. примерно как профессора среди детишек в детском саду, в сравнении с остальными, особенно питонщиками (детский сад, штаны на лямках, младшая группа): часто по жизни востребованы профессора (ну ок, токарь 7-го разряда)? Но, когда без них никак, сколько Вы готовы заплатить ему за работу, а ещё больше за Ваше обучение? Смотрим на массовые вакансии и что мы видим? Токарь 3-го разряд, можно без опыта..

Это ни разу не в обиду, просто как штатный итог таких "опоросов" ни о чем. Ни один из них никогда не показывал реальную картину .. а собственно в чем она должна быть реальна по-Вашему?

Сам, с удовольствием, вернулся бы на С/С++, а может даже и на Фортран или даже Ада..

Я разработчик С++ со множеством коллег на Python (и сам его знаю на среднем уровне) и от вашего комментария прям разит букетом стереотипов. Я именно про первый абзац.

Касаемо второй части вашего комментария. Я думаю статистика по рынку вакансий в отдельно взятой стране - объективна. Если это не телефонные опросы само собой, а анализ экспертами того к какому языку какая вакансия относится. Я думаю вы согласитесь, что "популярность" человеку с прагматической точки зрения интересна прежде всего "насколько легко мне найти работу на этом языке, сколько вакансий и соискателей на нем, какая средняя зп". Эти показатели достаточно хорошо формализуемы. А эти штуки типа "количество запросов в гугле и количество звёзд" конечно посчитать можно, но вот делать из них интегральную характеристику "популярности в попугаях" уже нельзя (возможно вы это имели в виду - и тогда я с вами согласен

Первый абзац это аналогия, она всегда стереотипна.

По второй части вашего ответа: Впрос про популярность сам по себе ниочем: популярен тот язык, который "в тренде", "моден" на сегодняшний момент. В свое время был популярен Паскаль Вирта .. почему? Так просто же: язык специально созданный для обучения студентов и только(Карл!).. достаточно большой объем выпускников, знающих только Паскаль, вот и вся популярность. Как только его начали внедрять "в жизнь", так сразу пошло развитие: Модула, Джава, Дельфи (и ещё парочка почивших уже). Джава - выстрелила, остальное почти "кануло в лету".

Да, с третьей частью соглашусь: впорос про популярность, это прежде всего поиск новоиспеченным (или желающим) возможности трудоустройства. И тут .. упс, далеко не последнюю роль играет "низкий порог вхождения" (можно трактовать и как язык для нубов).. Формализуемы ли эти показатели? Скорее да, чем нет, но "есть нюансы".

А бизнесу? А ему ничего не остается как набирать "то что дают". Фактически, популярность - это, кмк, синэргия двух движений: то, чему учат (или само обучаются) новички в профессии (и тут деградация идет по полной, в т.ч. и рекламой: "приходите учиться к нам, всего за месяц Вы станете программистом") и то, что массово вынужден (!!!) применять бизнес. Вот, где-то на стыке этих движущих сил и находится "популярность" как ответ на вопрос "чего учить, чтобы найти работу?".

Ну с последним согласен полностью: оценивать популярность по лайкам, звездам, рейтингу или карме - такое себе.. Не имел ввиду, но полностью согласен.

За свои 40+ в ИТ видел много "популярного", канувшего в Лету .. где всё тот же "любимый" PL/1, а Алгол-68, а APL .. и несть им числа. :)

джава выстрелила именно своей кроссплатформенностью и простой работой с памятью, на тот момент это было важно. наверное, если бы C# появился чуть раньше, то про джаву бы и не вспомнили, да и то, она прочно заняла свою нишу чуть ли не исключительно в бэкенде и мобильной разработке (андроид), несмотря на то, что изначально позиционировалась как всеуниверсальный язык. а сейчас вряд-ли кто даже вспомнит про апплеты, скорее даже флеш вспомнят.

Если бы вы были немного любознательнее, а также менее категоричны, то вы, наверное, знали бы, что язык C# не мог никак появиться раньше языка Java. Почему? Ну хотя бы потому, что язык C# появился как развитие идей продукта Visual J++ и библиотеки WFC после того, как Microsoft проиграла суд за чистоту реализации виртуальной машины Java фирме SUN. ссылка

Шарп бы без явы вообще не появился. Его запилили после того, как Сан засудил Микрософт за то, что ява-машина от Микрософта не соответствовала спецификации и имела много windows-специфичных плюшек, которые не работали на других платформах. В результате Visual J++ в итоге стал C#.

Плюсовики и Хаскелисты это .. примерно как профессора среди детишек в детском саду, в сравнении с остальными

Да если бы. :)

Чет я не понимаю как это возможно.

Вы про востребованность или про высокооплачиваемость?

Разве первое со вторым никак не связано? :)

Чет я не понимаю как это возможно.

HFT

Я не понял как создавался рейтинг

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

Кроме того, фулстеки выбрали C# (первое место).
Это как?
А эти фулстеки сейчас здесь с нами, в этой комнате?

Судя по местному голосованию, они здесь.

Не понимаю в чем смысл вопроса "На каком языке вы программируете? (Full Stack)"

Что показывает эта статистика?

эти фулстеки выбрали вовсе не C#, а JavaScript (NodeJS), поскольку именно нода дала возможность использовать один язык и для фронта и для бэка, а до-диез, увы, только если пихать в wasm

Да, вполне себе "в этой комнате". Фронт - Blazor плюс библиотека с компонентами для него, бэк - обычный C#, с базой работа через EF Core подходом Code First. Все три позиции разрабатываются одними и теми же людьми. Ситуация может и не особо обычная, но всё работает неплохо. Я вот прям кайфую, что всё на одном языке

Подтверждаю. Также работаю Blazor Front - C# Backend - EF Core с Code First

Я выбирал в этом голосовани C# и TS. Фулстек можно же не на одном языке писать.

НЛО прилетело и опубликовало эту надпись здесь

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

это вы наверно про количество "объявлений об открытых вакансиях", а не про количество работающих в ИТ.

Потому что я тожу вижу больше объявлений о курсах\вакансиях и т.д. фронтенда, но глядя на людей в фирме, вижу на одного фронт-программиста - три и больше бек-программистов ...

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

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

Вывод - в этот раз просто опрашивали в других местах, где с++ программистов меньше

если так много потерял популярности с++ , то куда ушли люди работающие с ним

Лично знаю людей, ушедших с плюсов на C#/Java/Rust, и даже сам подумываю о таком переходе (после десяти с лишним лет опыта на плюсах, лол).

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

Странно, что не в упоминается CoffeeScript. Во времена пика популярности Ruby on Rails был тоже весьма популярен.

И кстати, у DevOps ещё bash-скрипт популярен. Тоже странно, что его нет в опросе.

Ну сейчас кофе уже мертв, вот в 2015 все было по-другому.

он как и Groovy, который жив только благодаря Gradle

Скорей благодаря Jenkins. В Gradle давно можно на котлине писать, а вот в дженкинсе без вариантов.

Чем вызвана такая популярность Python в back-end?

Не претендую на достоверность и объективность, но ИМХО питон - это самая популярная тема для обучения войти в айти. Прям из каждого утюга. Может это связано?

потому что:

  • на нем можно написать print("Hello World") в одну строчку, без знания классов, неймспейсов

  • его не надо компилировать или других телодвижений

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

  • что касается десктопа - то вот так сразу у тебя готовая экзешка, которая запустится везде

  • визуально чистый синтаксис без перегрузки скобками и другими спец.знаками (в отличие от того же С++ или Ruby со всеми их :: <> @)

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

  • а ещё на нём очень и очень просто писать игры благодаря, например, RenPy!

  • то есть, этого всего достаточно, чтобы кричать "смотри как просто! тяп-ляп - и ты, только сегодня купивший себе компьютер, уже завтра крутой программер и сможешь зарабатывать по 300000/мес!"

Так хорошо описали, прям захотелось перейти на Python

Почти все то же самое можно сказать про C#, в частности:


можно написать print("Hello World") в одну строчку, без знания классов, неймспейсов

Top-level statements, не нужно никаких public static void Main.


его не надо компилировать или других телодвижений

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


вот так сразу у тебя готовая экзешка, которая запустится везде

self-contained publishing. И в единый исполняемый файл собрать можно. Это все изкоробочными средствами.


Разве что скобки вместо отступов, но это уже на любителя (=

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

Не требуя промежуточных действий говорите? 😎 (на скрине последняя лгбт-винда)

https://imgur.com/a/vnKnb4L

А Питон есть в любом Линуксе прямо из коробки.

Очевидно, что когда вы хотите использовать питон, вы скачиваете питон. Хотите использовать Шарп, скачивайте донат. В чём претензия? И да, нужно запускать НЕ шарповый файл, а файл проекта. Либо, находясь в директории с проектом, вызвать dotnet run без параметров. Либо вызвать dotnet run —project путь до проекта (явно указываем где проект).

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

Как это его в браузере запустить? В wasm, в смысле?

визуально чистый синтаксис без перегрузки скобками и другими спец.знаками (в отличие от того же С++ или Ruby со всеми их :: <> @)

Почему вы считаете эти символы излишними в ruby? Лично мне не нравится только объявление Hash со строковыми ключами через =>.

А в питоне да, никаких явных блоков - догадайся сам по отступам к чему относится тот или иной кусок кода) Я бы назвал это скорее недостатком, чем достоинством.

А это не перегрузка? И не многовато ли _?

if __name__ == '__main__':

object.method() Не многовато ли скобок? В ruby можно просто object.method

Декораторы, как по мне, тоже не добавляют чистоты.

Не понимаю в чём он чище ruby, по-моему, наоборот.

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

С/С++ - слишком сложный
Java - слишком серьезный
JavaScript тогда был только в браузере
Паскаль, Фортран, Бейсик уже морально устарели
C# - проприетарный, копирование Java

Выбор остался PHP и Python. Повезло Питону (из этой пары - заслужено). В итоге куча людей начинала с него и знает только его, хотя его составляющая в реальных проектах, получается, субъективно завышена в статистике статьи

Как-то так

Отличная зрелая экосистема для небольших проектов и прототипов с кучей всего на все случаи жизни. По развитости экосистемы с Python может соперничать только Java и С/С++. Лёгкая интеграция с компонентами на C/C++. Из больших проблем - только скорость работы, GIL и неустойчивость к кривым рукам.

Почему WebAssembly совсем не видать?

Может потому что на чистом текстовом wat мало кто захочет писать, а бинарный wasm обычно компилируют из более привычных C/C++/Rust/etc

кстати, интересно было бы глянуть статистику языков в wasm

Статистика Head Hunter на 23.04.2023:

На go интересный разброс - без опыта, относительно остальных, их прям сильно меньше готовы брать

НЛО прилетело и опубликовало эту надпись здесь

интересно, что 1С прям очень лидирует

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

Удивлён такой большой популярности у C#. Что на DOU, что тут. Вживую уже лет 10 не встречал ни единого сишарпера. При этом судя по графикам, учить его мало кто хочет. Странно.

C# - это эдакий open source по принуждению, мало кому такое понравится

Не совсем понятно, что значит open source по принуждению не могли бы объяснить? Но вы скорей всего не будете объяснять, потому-что и так понятно что сморозили туфту...

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

Честно говоря, тоже, давно не видел живых адептов сишарпа

Судя по графикам, из топ 5 лидеров финальной таблицы у шарпа максимальный индекс предпочтения, сравнимый только с нишевыми Swift и Kotlin и фанатским Rust. Потому что людям заходит) И учат его не первым, а основным. Хотя и на графике языка новичков только у него скачок, сопоставимый с Python: видимо, начинает играть роль Linux-овость последних .NET-ов.

а тут питоняшка в большинстве лидер с большим отрывом

JavaScript/TypeScript завоевывают мир

А тем временем на GitHub Language Stats проекты на C++ в 2023Q1 обогнали JS и TS по pull requests и дышат JS в затылок по pushes. Выглядит забавно, хотя понятное дело, что как минимум отчасти это, видимо, вызвано постепенным "перетеканием" из JS в TS - хотя, судя по графикам доля, TS растет медленнее, чем падает доля JS, так что, видимо, народ/проекты с JS/TS перетекают куда-то еще.

НЛО прилетело и опубликовало эту надпись здесь

Отсюда вывод: доля C/C++ в опенсорце гораздо выше.

Ну у гитхаба хотя бы источники данных известны и понятны, а у данного "опороса" (С) как-то не очень - кто там кого опрашивал, по какому принципу построена выборка и так далее. А то как бы не получилось, что "по данным опроса среди посетителей автосервиса 100% населения имеют водительские права".

на работе используют Visual Basic + Excel фронт-энда + T-SQL на сервере - а их в статистике нет... странно... казалосьь такая связка очень распространенной

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

Публикации

Истории