Що за нісенітниця відбувається з рейтингами популярності мов програмування?

Я сьогодні вивчав індекс 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.

Читайте також  Як змінити загальнодоступну мережу на приватну Windows 10 (і навпаки)

Однак історії з життя даних не замінять, правда? Якщо б з цими методологіями конфліктував тільки мій особистий досвід, я б вирішив, що він просто зіпсований помилкою відбору. І я б спокійно це зробив, якщо б тільки не існувало іншої методики виміру популярності мов програмування. Я кажу про щорічних звітах 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. З-за цього він виглядає набагато переконливіше. Однак його вибірка, заснована на відкритому коді, робить його не визначальним.

Ця статистика насправді має значення, а не просто задовольняє цікавість і надає певну інформацію про індустрії. Мова – це ще не все, але він все-таки має значення. Люди визначають, які мови їм вивчати, яку роботу шукати і чим займатися, на підставі їх популярності та їх відносної цінності в майбутньому. Тому трохи неприємно, що три ці методики вимірювання так сильно, так радикально відрізняються. На жаль, нам, вочевидь, доведеться задовольнятися ворожінням на чайному листі замість чітких цифр.

Читайте також  Цей сайт не може забезпечити захищене з’єднання - вирішуємо помилку

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

Вам також сподобається...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *