Повесть о двух индустриях: как различается выбор языков программирования в богатых и развивающихся странах
В статье рассмотрены отличия в выборе языков программирования в разных странах, а также рассказывается, почему стоит сегментировать разработку программного обеспечения на страны с высоким уровнем дохода и на остальные страны.
10К открытий10К показов
Недавно проведенное компанией Stack Overflow исследование показало, что вопросы, связанные с Android-разработкой, больше интересуют посетителей из стран с низким уровнем дохода, чем из более богатых. Это подтолкнуло исследователей к проведению более полного анализа этого вопроса. В статье будут рассмотрены отличия в выборе языков программирования в разных странах, а также будет рассказано, почему стоит сегментировать разработку программного обеспечения на страны с высоким уровнем дохода и на остальные страны.
Все аналитические данные были собраны в период с января по август 2017 года по 250 тегам, которые получили наибольшее количество трафика за этот период. Чтобы избавиться от шумов, были выбраны 64 страны, из которых вопросы посещались более 5 миллионов раз за этот период. Стоит отметить, что эти данные представляют собой активность среди разработчиков, понимающих английский язык.
Корреляция языков программирования с ВВП на душу населения
Как было сказано выше, трафик, связанный с Android-разработкой (в процентном соотношении с общим количеством запросов), отрицательно коррелирует с ВВП страны на душу населения. Но справедливо ли это утверждение для других популярных тегов?
Если посмотреть на другие популярные языки программирования и выделить PHP, Python и R, то картина будет выглядеть следующим образом:
Как видно, трафик по тегам «Android» и «PHP» отрицательно коррелирует с доходом страны, а по «Python» и «R» — положительно. В каждом из случаев можно увидеть исключения (в Корее более популярна ОС Android, а в Китае больше используют Python), но в целом корреляция присутствует.
Вероятно, на выбор языка программирования влияет сочетание экономических и социальных факторов (например, уровень образования, возраст индустрии программного обеспечения, уровень аутсорсинга), которое в целом соотносится с богатством страны.
Как сегментировать отрасль разработки ПО?
Лучше всего уйти от корреляций и обратить внимание на то, что существует только два типа стран: с высоким и не высоким уровнем дохода. Для разделения стран можно использовать классификацию доходов Всемирного банка, которая основана на ВНП (валовой национальный продукт) на душу населения.
В мире всего 78 стран с высоким уровнем дохода — это США, Канада, страны Западной Европы, часть Ближнего Востока и Восточной Азии, Австралия и Новая Зеландия. Такое разделение более оправдано, чем, например, разделение на Восточное и Западное полушарие. Ведь Австралия, как правило, больше похожа на США и Европу с точки зрения используемых технологий, чем на Китай или Индонезию.
Согласно статистике 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-специалиста будут отличаться от вопросов индийского студента или начинающего инвестора в индустрию африканских стран.
10К открытий10К показов