Pull to refresh

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

Reading time3 min
Views68K
Original author: Jon Evans


Я сегодня изучал индекс TIOBE, как делаю часто, и как часто делает большинство из тех профессиональных программистов, которых я знаю. Он претендует на измерение популярности языков программирования в мире, а его график изменения популярности со временем рассказывает простую историю: Java и C с незапамятных времён остаются королями языков с большим отрывом.

Но, погодите-ка, давайте не так быстро. Конкурирующий список PYPL Index (PopularitY of Programming Languages) говорит, что королями являются Python и Java, а C (учитываемый, внезапно, совместно с C++) находится где-то в глубине списка. Что происходит?

Просто у двух этих списков очень разные методологии подсчётов. Однако их объединяет одно – спорность их методологий, если учитывать, что их целью является измерение популярности языков программирования. TIOBE измеряет просто количество запросов в поисковике. PYPL измеряет, как часто люди гуглят обучающие материалы по тому или иному языку.

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

В числах этих рейтингов есть множество аномалий. Если верить TIOBE, в прошлый раз C взлетел от самого низкого места в рейтинге до языка года за пять месяцев. Я могу поверить, что С возрождается за счёт встраиваемых систем. Но я так же легко могу представить, что этот взлёт произошёл за счёт недостатков далеко не идеального метода измерения.

Более вопиющая аномалия в обеих рейтингах – относительная эффективность Objective-C и Swift, двух языков, на которых пишут нативные приложения для iOS. Я могу поверить, что в сумме они испытывают некоторый упадок перед лицом популярности таких кросс-платформенных альтернатив, как Xamarin и React Native. Но я с трудом верю в то, что после четырёх лет раскрутки Swift компанией Apple – с моей точки зрения, языка куда как более лучшего — Objective-C остаётся более популярным и широко используемым. Я на работе сталкиваюсь с разными приложениями для iOS/tvOS/watchOS, и беседую со множеством разработчиков для iOS. Очень редко удаётся найти человека, который до сих пор не перешёл с Objective-C на Swift.

Однако истории из жизни данных не заменят, правда? Если бы с этими методологиями конфликтовал только мой личный опыт, я бы заключил, что он просто подпорчен ошибкой отбора. И я бы спокойно это сделал, если бы только не существовало другой методики измерения популярности языков программирования. Я говорю о ежегодных отчётах GitHub, где указываются пятнадцать наиболее популярных языков программирования, используемых на этой платформе. И эти числа идеально совпадают с моим опытом, и серьёзно расходятся с заявлениями TIOBE и PYPL.

Согласно отчётам GitHub от 2016 и 2017 годов, наиболее популярный язык программирования в мире, причём с большим отрывом, это Javascript. На втором месте идёт Python, на третьем Java, а на четвёртом Ruby. Это резко контрастирует с TIOBE, где указываются Java и C, а потом, с большим отрывом, Python и C++ (Javascript вообще на восьмом месте). И с PYPL, заявляющим о таком порядке: Python и Java, большой отрыв, потом Javascript и PHP.

Очевидно, что числа GitHub не отображают всю профессиональную область на 100%. Их выборка очень крупная, но касается только проектов с открытым кодом. Однако хочу отметить, что GitHub – единственный рейтинг, где Swift оказывается более популярным, чем Objective-C. Из-за этого он выглядит гораздо убедительнее. Однако его выборка, основанная на открытом коде, делает его не определяющим.

Эта статистика на самом деле имеет значение, а не просто удовлетворяет любопытство и предоставляет некую информацию об индустрии. Язык – это ещё не всё, но он всё-таки имеет значение. Люди определяют, какие языки им изучать, какую работу искать и чем заниматься, на основании их популярности и их относительной ценности в будущем. Поэтому немного неприятно, что три этих методики измерения так сильно, так радикально отличаются. К сожалению, нам, судя по всему, придётся довольствоваться гаданием на чайных листьях вместо чётких цифр.
Only registered users can participate in poll. Log in, please.
Я думаю, что самые популярные ЯП — это…
71.13% Javascript2316
51.87% Python1689
58.81% Java1915
4.21% Ruby137
38.61% PHP1257
35.96% C++1171
30.16% C#982
8.78% Go286
17.2% C560
5.44% Typescript177
3.1% Shell101
10.63% Swift346
1.2% Scala39
4.08% Objective-C133
1.07% Perl35
1.11% Visual Basic .NET36
2.64% Delphi / Object Pascal86
1.57% Assembly51
0.83% R27
3.07% Rust100
1.44% Lua47
1.2% Haskell39
0.58% Julia19
3256 users voted. 614 users abstained.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 39: ↑31 and ↓8+23
Comments282

Articles