Первое место рейтинга из 55 позиций занял Python, на 43 месте оказался COBOL, многие годы считавшийся мертвым. Итоговые результаты во многом согласуются с аналитикой исследовательской компании RedMonk, ресурса для разработчиков GitHub (принадлежит Microsoft), а также с индексом популярности языков программирования Tiobe.
В первую пятерку самых распространенных языков программирования, по версии IEEE Spectrum, входят Python, Java, C, C++ и JavaScript, а вторая пятерка состоит из языков R, Arduino, Go, Swift и Matlab. От рейтинга топ-10 IEEE Spectrum образца 2019 г. данный перечень практически не отличается, разве что Matlab был на одну строчку впереди GO, а седьмую строчку занимал C#, в 2020 г. оказавшийся на 23 месте.
На сайте IEEE Spectrum опубликованы три дополнительных рейтинга языков программирования: по темпам роста популярности, по числу открытых вакансий разработчиков и по популярности на ресурсах для размещения открытого исходно кода. По темпам роста популярности топ-10 языков выглядит так (в порядке убывания): Python, Java, C, C++, Go, JS, Arduino, Dart, HTML, Swift. COBOL в этом списке занял 46 место.
Arduino
В трех из четырех рейтингов, составленных IEEE Spectrum, присутствует Arduino, аппаратно-программная платформа, предназначенная для создания систем автоматики и робототехники базового уровня. Она ориентирована на непрофессиональных пользователей, но составители рейтинга, по их словам, включили ее в рейтинг не просто так.
По сути, программная часть Arduino базируется на языке C++. «Когда люди ищут информацию о программировании для Arduino, то они пишут в строке поиска именно “код Arduino” или покупают книгу о “программировании для Arduino”, а не, к примеру, «программирование на C», отметил сотрудник IEEE Spectrum Стивен Касс (Stephen Cass).
COBOL
Оценку языкам программирования в своем основном рейтинге сотрудники IEEE Spectrum выставляли, основываясь на частоте упоминаний и запросов о тех или иных языках на различных крупных ресурсах. В данном случае их восемь, и это: CareerBuilder, GitHub, Google, Hacker News, Reddit, Stack Overflow, Twitter, а также сайт института IEEE.
Если сравнивать, к примеру, результаты по популярности в Twitter, то в нем COBOL, считающийся мертвым языком, занял седьмое место. Эксперты портала ZDnet связывают это с недавним всплеском интереса к данному языку.
В первых числах апреля 2020 г. в ряде штатов США начались активные поиски программистов, знающих COBOL. Они потребовались с целью обновления программного обеспечения, используемого в американской системе занятости, работающей на устаревшем оборудовании. На фоне роста числа безработных в США из-за пандемии коронавируса COVID-19 это «железо» перестало справляться с нагрузкой. COBOL входит в число старейших языков программирования в мире, первая его версия увидела свет в 1959 г.
В середине апреля 2020 г. свою лепту в популяризацию COBOL внесла компания IBM – она объявила о подготовке к проведению обучающих курсов по этому языку для увеличения числа специалистов, разбирающихся в нем.
Инициативу IBM поддержал проект Open Mainframe Project, предназначенный для создания ПО с открытым исходным кодом для запуска на мейнфреймах и курируемый организацией Linux Foundation. Сами IBM хотела сделать полностью бесплатными, а по их завершению она собиралась выложить все материалы на GitHub в профиле Open Mainframe Project.
IBM также заявила о своем стремлении возродить сообщество специалистов по COBOL, используя для этого современные методы коммуникации. Для этого она уже предприняла ряд действий, в том числе и создала несколько узкоспециальных веб-форумов, связанных конкретно с этим языком программирования.
Все форумы запущены на сайте Open Mainframe Project. На одном из них специалисты по COBOL могут совместно обсудить решение того или иного вопроса, связанного с программным кодом, а другой предназначен для поиска специалистов в этом языке. Это своего рода база данных программистов, знающих COBOL и способных прийти на помощь организациям, использующим ПО, написанное на этом языке и по тем или иным причинам не готовым отказаться от него.
Почему нельзя отказаться от программ на COBOL
Несмотря на то, что сейчас COBOL практически никто не изучает, программы на нем по-прежнему весьма популярны. По информации Reuters, во всем мире в 2020 г. используется 220 млрд строчек кода этого языка.
В частности, программы на COBOL используются, помимо систем занятости, еще и в финансовых организациях. Как минимум 43% ПО, используемего в банковских сферах, написано на COBOL, к тому же, такой софт можно встретить в 95% банкоматов по всему миру.
Одна из основных причин, почему резкий отказ от написанных на мертвом языке программ невозможен, заключается в необходимости вливания значительных финансовых средств в переход на более современное ПО. Для примера, Банк содружества Австралии, решившийся на полную замену всех COBOL-приложений, потратил на это около $750 млн. На переход потребовалось пять лет.
Рейтинг популярности языков программирования
Место в рейтинге | Название языка | Количество баллов |
---|---|---|
1 | Python | 100,0 |
2 | Java | 95,3 |
3 | C | 94,6 |
4 | C++ | 87,0 |
5 | JavaScript | 79,5 |
6 | R | 78,6 |
7 | Arduino | 73,2 |
8 | Go | 73,1 |
9 | Swift | 70,5 |
10 | Matlab | 68,4 |
11 | Ruby | 66,8 |
12 | Dart | 65,6 |
13 | SQL | 64,6 |
14 | PHP | 63,8 |
15 | Assembly | 63,7 |
16 | Scala | 63,5 |
17 | HTML | 61,4 |
18 | Kotlin | 57,8 |
19 | Julia | 56,0 |
20 | Rust | 55,6 |
21 | Shell | 52,0 |
22 | Processing | 49,2 |
23 | C# | 48,1 |
24 | SAS | 45,2 |
25 | Fortran | 43,0 |
26 | Cuda | 41,0 |
27 | Visual Basic | 40,3 |
28 | Objective-C | 38,9 |
29 | Delphi | 38,6 |
30 | Perl | 38,2 |
31 | Verilog | 37,6 |
32 | VHDL | 36,7 |
33 | LabView | 36,7 |
34 | Elixir | 35,8 |
35 | F# | 34,7 |
36 | Prolog | 34,6 |
37 | Lua | 34,4 |
38 | Lisp | 33,0 |
39 | Ada | 32,8 |
40 | Apache Groovy | 32,0 |
41 | Scheme | 31,4 |
42 | Haskell | 30,8 |
43 | COBOL | 30,4 |
44 | Clojure | 29,8 |
45 | ABAP | 29,5 |
46 | D | 27,7 |
47 | Forth | 23,7 |
48 | Ocaml | 23,7 |
49 | TCL | 22,1 |
50 | LadderLogic | 19,5 |
51 | Erlang | 18,3 |
52 | Eiffel | 16,5 |
53 | CoffeeScript | 15,9 |
54 | J | 14,3 |
55 | Racket | 0,0 |