По данным различных авторитетных источников, общее количество языков программирования, существующих в мире, варьируется в пределах 9 000.
Фигурально выражаясь, можно было бы сказать, что каждый день появляется новый язык программирования. Можно было бы сказать, что и каждый день исчезает устаревший язык, но согласно известному технологическому явлению в современном информационном мире данные не пропадают.
В данной статье попробуем разобраться, как устроены и по каким принципам работают некоторые рейтинги.
А в заключении приведем рекомендации по выбору языка программирования на 2023 год на основе самых популярных рейтингов.
Индекс TIOBE оценивает популярность языков программирования на основе сравнения количества поисковых запросов с упоминанием названия языка. При формировании результатов используются наиболее популярные поисковые машины, сервисы и порталы: не только Google и Yandex, например, но и Wikipedia, YouTube, сервисы для ведения блогов, платформы электронной коммерции и другие. Каждый месяц индекс TIOBE бесплатно предоставляет рейтинг языков программирования. Консолидированные данные за несколько лет предоставляются платно.
Методика расчета рейтинга очень часто подвергается критике, так как она, методика, чувствительна к внутренней политике поисковых сервисов, являющихся основным источником данных для построения индекса. Приведем пример: международный поисковик Google в 2004 году провел модернизацию алгоритмов порядка выдачи результатов поиска, тем самым очистив его от нелегитимных способов продвижения веб-страниц, так называемой «накрутки», в результате чего произошло овальное падение значение индекса у языков программирования C++ и Java. Так как на политику поисковых сервисов индекс TIOBE повлиять не может, во избежание подобных ситуаций TIOBE стал использовать больше различных поисковиков.
Корректность индекса часто подвергается критике в среде технических специалистов.
Какие языки попадают в Индекс TIOBE? Неужели все 9 000?
Для попадания в рейтинг необходимо выполнение двух условий:
Индекс TIOBE считается именно популярным рейтингом языков, строго научным подход TIOBE назвать нельзя. Подтверждением этому может стать, например, собственно отношение разработчиков, назвавших свой сервис TIOBE, что можно расшифровать как «The Importance Of Being Earnest» — «Важность быть серьезным» (название комедийной пьесы Оскара Уайльда).
Сервис отображает данные в виде таблицы с указанием текущего места каждого языка для первой двадцатки из списка, его места в рейтинге за предыдущий месяц, изменения места (зеленые стрелки для роста и красные для падения), числовых значений индекса и процентного изменения. Для следующих тридцати языков данные представлены лаконичней. Еще 50 языков, участвующих в аналитике, перечислены в алфавитном порядке, так как различия в их индексах невелики.
На портале представлен интерактивный график, демонстрирующий динамику популярности 10 самых востребованных на взгляд Tiobe языков.
На момент написания статьи индекс TIOBE представляет следующие 10 наиболее популярных языков программирования согласно своим алгоритмам:
2. Рейтинг языков программирования на GitHub
Сервис GitHub как это ни странно на первый взгляд непосвященному человеку, строит рейтинг языков программирования, анализируя частоту их использования на собственном ресурсе. Но для понимания серьезности такого подхода следует знать, что на данный момент GitHub – это крупнейший в мире хостинг кода с более 100 миллионов пользователей по данным на январь 2023 года, и ежегодный прирост количества пользователей превышает 20 миллионов, количество репозиториев – более 400 миллионов, а ежегодный прирост количества репозиториев приближается к 90 миллионам.
Сервис предоставляет статистические данные за несколько лет, в интерактивной форме показывая динамику популярности языков:
Данные по годам начиная с 2014 года доступны в бесплатном режиме:
В отличие от сервиса TIOBE, высчитывающего индекс ежемесячно, GitHub предоставляет статистические данные ежеквартально.
На момент написания статьи первые 10 мест рейтинга согласно сервису GitHub занимают следующие языки:
3. Рейтинг языков программирования RedMonk
Рейтинг языков программирования RedMonk неправильно называть рейтингом в строгом смысле. По сути RedMonk предоставляет некую аналитику популярности языков программирования, основанную на самостоятельно разработанных критерях, базируясь на данных, предоставленных сервисами GitHub и Stack Overflow. У аналитики RedMonk нет регулярности в публикации аналитики, в частности. Формат представления данных – статья, содержащая объединенный график популярности языков на двух платформах: GitHub и Stack Overflow и небольшой комментарий к результатам.
При этом сами авторы аналитики подчеркивают, что чем ниже рейтинг, тем меньше данных доступно для ранжирования языков, а, следовательно, тем недостоверней индекс.
Согласно последним данным RedMonk на момент написания данной статьи топ-10 языков программирования выглядит следующим образом:
Проведя сравнительную аналитику двух последних лет, можно сделать вывод о главной тенденции последнего времени: отсутствие движения, исключением может быть только перестановка 7 и 8 мест, что не имеет кардинального значения.
4. Рейтинг популярности языков программирования PYPL
Индекс PYPL (PopularitY of Programming Language Index) создается путем анализа того, как часто в Google ищут учебники по языку.
Чем чаще ищут учебник по языку, тем популярнее считается язык. Необработанные данные поступают из Google Trends.
К недостаткам данной методики ранжирования можно отнести:
Вот как выглядит десятка наиболее популярных языков согласно рейтингу PYPL:
5. Аналитические данные сервиса Jetbrains
Рейтинг выстроен на основании добровольного анкетирования. В отчете за 2022 год использованы данные 38000 анкет, которые прошли процесс очистки данных. В частности, исключалась информация, полученная с одинаковых IP-адресов, в результате слишком быстро заполненных анкет, взаимоисключающая информация, например, опыт работы более 16 лет при возрасте 20 лет и подобное.
Было собрано большое количество ответов из 14 стран, репрезентативно представляющих сообщество разработчиков. Ниже список стран в алфавитном порядке:
Аргентина, Бразилия, Великобритания, Германия, Индия, Испания, Канада, Китай, Мексика, США, Турция, Франция, Южная Корея, Япония.
Остальные страны были распределены по шести категориям:
Хочется отметить, что разработчиками опроса была проведена работа по переводу вопросов на различные языки с целью избежать потенциальной предвзятости в пользу респондентов с родным английским языком. В итоге вопросы были представлены на восьми языках: испанском, китайском, корейском, немецком, бразильском португальском, турецком, французском и японском.
Кроме собственно рейтинга языков программирования сервис Jetbrains представляет данные , характеризующие профиль респондентов, например:
Можно отметить, что такой узко специализированный опрос включает в себя неожиданные вопросы, а некоторые вопросы сформулированы таким образом, что можно получить неожиданные выводы. Приведем несколько примеров:
Сервис представляет основные выводы:
И иллюстрированную в графике динамику востребованности основных языков:
Вот так выглядит верхняя часть ранжированного по популярности списка языков программирования согласно порталу JetBrains:
Результат рассчитан на основе опроса более 73 000 разработчиков из 180 стран.
В результате санкций, наложенных США, опрос был недоступен В Крыму, Северной Корее, В Иране, Сирии, на Кубе из-за блокировки трафика. Некоторые данные были исключены из анализа из-за очень краткого времени, потраченного на опрос.
Система вопросов была выстроена с учетов предыдущих ответов, например, вопросы о работе задавались только тем респондентам, кто ранее ответил, что он работает.
На необязательный вопрос о величине заработной платы ответило менее половины участников опроса.
Сервис дает срез данных по предоставленной респондентами информации, например:
Представительство стран в опросе (неполный перечень, например, такие страны как Бруней-Даруссалам, Буркина-Фасо, Джибути, Монако, Сент-Китс и Невис, Сан-Марино, Сейшелы, Соломоновы острова каждая были представлены одним респондентом)
Итоговый рейтинг языков программирования согласно Jetbrains (первая десятка):
Интересные выводы, которые можно сделать, сопоставив выше описанные рейтинги, сведенные в общую таблицу:
№ | Stackoverflow | Jetbrains | Github | Tiobe | Redmonk | Pypl |
1 | JavaScript | JavaScript | Python | Python | JavaScript | Python |
2 | HTML/CSS | HTML/CSS | Java | C# | Python | JavaScript |
3 | SQL | Python | Go | JavaScript | Java | C# |
4 | Python | SQL | C++ | Visual Basic | PHP | C/C++ |
5 | TypeScript | Java | JavaScript | C | C# | PHP |
6 | Java | TypeScript | TypeScript | C++ | CSS | R |
7 | Bash/Shell | Shell | PHP | Java | TypeScript | TypeScript |
8 | C# | C++ | C | SQL | C++ | Swift |
9 | C++ | C# | Ruby | Assembly | Ruby | Objective-C |
10 | PHP | PHP | C# | PHP | C | Rust |
11 | C | C | Shell | Scratch | Swift | Java |
12 | PowerShell | Go | Nix | Go | Shell | Go |
13 | Go | Kotlin | Rust | MATLAB | R | Kotlin |
14 | Rust | Rust | Scala | Fortran | Go | Matlab |
15 | Kotlin | Swift | Kotlin | COBOL | Scala | Ada |
16 | Dart | Ruby | Swift | R | Objective-C | Ruby |
17 | Ruby | Objective-C | Dart | Ruby | Kotlin | Powershell |
18 | Assembly | Scala | DM | Swift | PowerShell | Dart |
19 | Swift | Lua | Rust | Rust | VBA | |
20 | R | Groovy | Julia | Dart | Scala | |
21 | VBA | Perl | SAS | Abap | ||
22 | MATLAB | Objective-C | Visual Basic | Visual Basic | ||
23 | Lua | SystemVerilog | Delphi | Lua | ||
24 | Groovy | Elixir | Ada | Groovy | ||
25 | Delphi | OCaml | Prolog | Julia | ||
26 | Scala | Haskell | FoxPro | Cobol | ||
27 | Objective-C | CodeQL | Kotlin | Perl | ||
28 | Perl | Erlang | Perl | Haskell | ||
29 | Haskell | PowerShell | Objective-C | Delphi/Pascal | ||
30 | Elixir | Clojure | Lisp | |||
31 | Julia | Julia | Scala | |||
32 | Clojure | Verilog | Haskell | |||
33 | Solidity | Emacs Lisp | D | |||
34 | LISP | Lean | Lua | |||
35 | F# | CoffeeScript | Dart | |||
36 | Fortran | MLIR | Logo | |||
37 | Erlang | R | GAMS | |||
38 | APL | Assembly | VBScript | |||
39 | COBOL | ANTLR | Scheme | |||
40 | SAS | Smalltalk | Transact-SQL | |||
41 | OCaml | Bicep | CFML | |||
42 | Crystal | MATLAB | PL/SQL | |||
43 | F# | ABAP | ||||
44 | WebAssembly | Solidity | ||||
45 | hoon | TypeScript | ||||
46 | Fortran | F# | ||||
47 | Vim Script | PowerShell | ||||
48 | Visual Basic .NET | Forth | ||||
49 | Puppet | Bash | ||||
50 | Haml | X++ |
Обращаем внимание на выделенные цветом данные:
В качестве заключения представим краткий список, где самые популярные языки программирования разобраны по своему применению:
Мы используем файлы cookies для улучшения работы сайта. Находясь на сайте, вы соглашаетесь с их использованием.
Отправляя форму, вы соглашаетесь с политикой конфиденциальности