Повість про двох індустріях: як розрізняється вибір мов програмування в багатих країнах

Нещодавно проведене компанією Stack Overflow дослідження показало, що питання, пов’язані з Android-розробкою, більше цікавлять відвідувачів з країн з низьким рівнем доходу, ніж з більш багатих. Це підштовхнуло дослідників до проведення більш повного аналізу цього питання. У статті будуть розглянуті відмінності у виборі мов програмування в різних країнах, а також буде розказано, чому варто сегментувати розробку програмного забезпечення на країни з високим рівнем доходу і на інші країни. Рекомендую вибрати на сайті языки программирования для новичков

Всі аналітичні дані були зібрані в період з січня по серпень 2017 року по 250 тегам, які отримали найбільшу кількість трафіку за цей період. Щоб позбутися від шумів, були обрані 64 країни, з яких питання відвідувалися більш 5 мільйонів разів за цей період. Варто зазначити, що ці дані представляють собою активність серед розробників, які розуміють англійську мову.

Кореляція мов програмування з ВВП на душу населення
Як було сказано вище, трафік, пов’язаний з Android-розробкою (у відсотковому співвідношенні із загальною кількістю запитів), негативно корелює з ВВП країни на душу населення. Але чи справедливо це твердження для інших популярних тегів?

Якщо подивитися на інші популярні мови програмування і виділити PHP, Python і R, то картина буде виглядати наступним чином:

Як видно, трафік по тегам «Android» і «PHP» негативно корелює з доходом країни, а за «Python» і «R» — позитивно. У кожному з випадків можна побачити виключення (у Кореї більш популярна ОС Android, а в Китаї більше використовують Python), але в цілому кореляція присутній.

Ймовірно, на вибір мови програмування впливає поєднання економічних і соціальних факторів (наприклад, рівень освіти, вік індустрії програмного забезпечення, рівень аутсорсингу), яке в цілому співвідноситься з багатством країни.

Як сегментувати галузь розробки ПЗ?
Краще всього піти від кореляцій і звернути увагу на те, що існує тільки два типи країн: з високим і не високим рівнем доходу. Для поділу країн можна використовувати класифікацію доходів Світового банку, яка заснована на ВНП (валовий національний продукт) на душу населення.

Рівень доходу країн за версією Світового банку

У світі всього 78 країн з високим рівнем доходу — це США, Канада, країни Західної Європи, частина Близького Сходу і Східної Азії, Австралія і Нова Зеландія. Такий поділ більш виправдано, ніж, наприклад, поділ на Східну і Західну півкулю. Адже Австралія, як правило, більше схожа на США і Європу з точки зору використовуваних технологій, ніж на Китай та Індонезію.

Країни з найбільшою кількістю відвідувань Stack Overflow з урахуванням рівня доходу

Згідно зі статистикою Stack Overflow, 63,7% трафіку, що надходить з країн з високим рівнем доходу. Ймовірно, це пов’язано з зручним доступом в Інтернет, більшою часткою розробників та кращим знанням англійської мови. Більша частина трафіку з країн з невисоким рівнем доходу надходить з Індії, Бразилії, Росії та Китаю.

Чим відрізняються країни з високим рівнем доходу?
Після поділу світу на два сегмента потрібно розібратися, як відрізняються країни з високим і низьким рівнем доходів з точки зору використовуваних технологій.

Відмінності в технологіях, що використовуються в країнах з різним рівнем доходів

Тут можна виділити кілька моментів:

Наукові дослідження. Як було зазначено вище, мови програмування Python і R найбільш популярні в країнах з високим рівнем доходу. Тег «Python» жителі країн з високим рівнем доходу відвідують приблизно в 2 рази частіше, а тег «R» — приблизно у 3 рази. Варто зазначити, що частина тегів, пов’язаних з Python і R, відносяться до наукових пакетів pandas, numpy, matplotlib і ggplot2. Це говорить про те, що ці дві мови програмування можуть бути пов’язані з наукою і академічними дослідженнями. Тому можна припустити, що використання цих мов більш поширене у розвинутих країнах, де наукові дослідження становлять більшу частину економіки, а програмісти мають високі наукові ступені.
C/C++. «C» і «C++» — інші популярні в країнах з високим рівнем доходу теги. Одна з гіпотез полягає в тому, що це може мати відношення до освіти — C і C ++ відносяться до числа мов, які використовуються в університетах. Це також може бути пов’язано з географічним розподілом електроніки та промисловості.
PHP і Android. Як було зазначено вище, питання, пов’язані з Android-розробкою, більше цікавлять відвідувачів з країн з низьким рівнем доходу. Тег «PHP» також популярний в країнах з невисоким доходом, як і тег «CodeIgniter» (PHP-фреймворк з відкритим вихідним кодом). Дослідження показують, що цей тег отримує переважна кількість трафіку з Південної і Південно-Східної Азії (зокрема, з Індії, Індонезії, Пакистану і Філіппін). Можливо, CodeIgniter — це найбільш популярний інструмент серед аутсорсингових компаній, які займаються веб-розробкою.
Висновок
Якщо створити список найбільш відвідуваних технологій програмування для країн з високими і низькими доходами, він буде виглядати приблизно так:

Видно, що в 2017 році «Python» є другим по популярності тегом серед країн з високим рівнем доходу, але восьмим в іншому світі. Що ж стосується мови програмування R, він є 15-м за популярністю в країнах з високим рівнем доходу, але навіть не потрапив у топ-50 найпопулярніших тегів в іншому світі.

І це дуже важливо з точки зору розробки екосистеми, адже питання американського HR-фахівця будуть відрізнятися від питань індійського студента чи початківця інвестора в індустрію африканських країн.