Ярослав Сарницкий

Повесть о двух индустриях: как различается выбор языков программирования в богатых и развивающихся странах

В статье рассмотрены отличия в выборе языков программирования в разных странах, а также рассказывается, почему стоит сегментировать разработку программного обеспечения на страны с высоким уровнем дохода и на остальные страны.

10345
Обложка поста Повесть о двух индустриях: как различается выбор языков программирования в богатых и развивающихся странах

Недавно проведенное компанией 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-специалиста будут отличаться от вопросов индийского студента или начинающего инвестора в индустрию африканских стран.

10345