Почему Python так быстро растет

Java задняя часть Python Эксплуатация и техническое обслуживание
Источник:Why is Python Growing So Quickly?
Автор: Дэвид Робинзон

Недавно показанный, основанный на доступе к вопросам Stack Overflow, Python является самым быстрорастущим основным языком программирования, и он сталстрана с высоким доходомСамая посещаемая вкладка.

Почему Python так быстро растет?

Python используется для самых разных целей, от веб-разработки до науки о данных и DevOps, и стоит знать, что в последнее время конкретные приложения Python стали более распространенными. Я специалист по данным, использующий R, поэтому меня интересует, насколько растет сам Python. В этом посте я еще раз рассмотрю данные Stack Overflow, чтобы понять виды разработки Python, а также компании и организации, которые используют их чаще всего.

Эти анализы приводят к двум выводам. Во-первых, самые быстрорастущие области для Python — это наука о данных, машинное обучение и академические исследования. это вpandasЭто особенно заметно в росте пакетов, пакет pandas является самым быстрорастущим тегом, связанным с Python, на сайте.

Что касается отраслей, использующих Python, мы обнаружили, что у нас есть больший доступ к некоторым отраслям, таким как электроника, производство, программное обеспечение, правительство и особенно университеты. Однако,Рост Python равномерно распределяется по отраслям. В совокупности это расскажет историю о том, как наука о данных и машинное обучение становятся все более распространенными во многих типах компаний, и Python является распространенным выбором для этой цели.

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

Типы разработки Python

Python — это язык общего назначения, используемый для различных задач, таких как веб-разработка и наука о данных. Как мы относимся к последним разработкам в Python в этих областях?

Для начала мы можем изучить рост трафика, чтобы представить метки очевидных пакетов Python в каждом поле. Мы можем использовать веб-фреймворкDjangoа такжеFlaskс пакетом данныхNumPy,matplotlibа такжеpandasСравнивать. (Вы также можете использоватьТенденции переполнения стекаДля сравнения количества заданных вопросов, а не посещенных вопросов.

Pandas, безусловно, является самым быстрорастущим пакетом Python для трафика Stack Overflow из стран с высоким уровнем дохода:

Он едва запустился в 2011 году, но сейчас на него приходится почти 1% просмотров вопросов Stack Overflow. Вопросы о numpy и matplotlib также со временем увеличили свою долю посещений. Напротив, трафик задач Django в этот период оставался довольно постоянным, и хотя Flask продолжал расти, его доля была все еще меньше. Это говорит о том, что большая часть роста Python, вероятно, связана с наукой о данных, а не с веб-разработкой.

Однако это дает нам часть картины, поскольку он может измерять только широко используемые пакеты, специфичные для Python. Python также популярен среди системных администраторов и инженеров DevOps, которые могут изучать проблемы с Linux, Bash и Docker, а также проблемы с Python. Точно так же большая часть веб-разработки на Python может выполняться без Django или Flask, и такие разработчики, вероятно, будут иметь JavaScript, HTML и CSS в качестве «поддерживаемых» тегов. Мы не можем просто измерить рост таких тегов, как linux, bash, javascript, и предположить, что они связаны с Python. Поэтому мы хотим измерить теги, посещаемые с помощью Python.

Мы будем учитывать посещения летом 2017 года (июнь–август), что поможет снизить влияние учащихся, сосредоточится на недавнем трафике и упростит вычислительные задачи, связанные с подведением итогов трафика за длительные периоды времени. Мы учитывали только зарегистрированных пользователей, которые за этот период задали не менее 50 вопросов Stack Overflow. Мы считаем, что кто-то является пользователем Python, только если тег, который он чаще всего посещает, — это Python, а на Python приходится не менее 20% посещений.

Какие теги часто посещают те, кто посещает Python?

pandas — это, по большей части, самая посещаемая вкладка для разработчиков Python, что неудивительно после того, как мы увидели ее ранний рост. Наиболее посещаемым посетителями Python является JavaScript, вероятно, представляющий группу веб-разработчиков Python (Django несколькими слотами ниже). Это подтверждает наши подозрения, что нам следует думать о том, к каким тегам обращаться с помощью Python, а не только о росте числа тегов, связанных с Python.

В списке мы можем увидеть и другие «кластерные» техники. Мы можем изучить их взаимосвязь, рассмотрев, какие теги имеют тенденцию быть связанными: то есть, посещают ли пользователи Python два тега непропорционально. Отфильтровав пары меток с высокой корреляцией Пирсона, мы можем отобразить эти отношения на сетевом графике (дополнительную информацию об этом типе визуализации см.посмотреть здесь).

Мы видим несколько широких категорий методов, которые примерно описывают классы задач, обычно решаемых в Python. В верхнем центре мы видим кластер науки о данных и машинного обучения: в центре он имеет pandas, NumPy и matplotlib и тесно связан с такими технологиями, как R, Keras и TensorFlow. Кластеры ниже описывают веб-разработку и включают такие теги, как JavaScript, HTML, CSS, Django, Flask и JQuery. Два других кластера, которые мы видим, — это системное администрирование/DevOps (вокруг Linux и Bash) слева и Data Engineering (Spark, Hadoop и Scala) справа.

Рост по теме

Мы видели, что трафик переполнения стека, связанный с Python, часто можно разбить на несколько тем. Это позволяет нам изучить, какие темы отвечают за большую часть роста Python в доступе к Stack Overflow.

Представьте, что мы просматриваем историю пользователя и видим, что Python — это его самый посещаемый тег. Как мы угадываем, являются ли они веб-разработчиками, специалистами по данным, системными администраторами или кем-то еще? Что ж, мы можем рассматривать их теги, посещаемые вторыми, затем теги, посещаемые третьими, и работать со списком их наиболее посещаемых тегов, пока не увидим что-то узнаваемое из одного из кластеров выше.

Поэтому мы предлагаем следующий простой метод классификации пользователей по темам: мы находим наиболее часто посещаемый тег каждого пользователя из 9 перечисленных ниже и используем его для его классификации.

  • Data Scientist: панды, NumPy или Matplotlib
  • Веб-разработчик: JavaScript, Django, HTML
  • Системный администратор/DevOps: Linux, Bash или Windows.
  • Нет: ни один из девяти вышеуказанных ярлыков не превышает 5% трафика.

Это не очень сложно, но позволяет нам быстро оценить влияние каждой основной категории на рост Python. Мы также попробовали более строгий потенциалМетод распределения Дирихле, и получили качественно аналогичные результаты.

Какие категории разработчиков Python со временем стали более распространенными? Обратите внимание, что, поскольку мы классифицируем пользователей, а не посещения с вопросами, мы показываем это как процент от зарегистрированных посетителей Stack Overflow (независимо от того, посещали ли они Python или посещали Python).

Мы видим, что количество посетителей Python, использующих веб-технологии или системное администрирование, росло медленными или умеренными темпами среди всех посетителей Stack Overflow за последние три года. Но доля разработчиков Python, использующих методы обработки данных, быстро растет. Это говорит о том, что популярность Python в науке о данных и машинном обучении может быть основной движущей силой его быстрого роста.

Мы также можем учесть рост на уровне отдельных тегов, рассчитав поток кода, к которому обращались разработчики Python в 2016 и 2017 годах. Например, трафик Javascript в целом может быть стабильным, но он уменьшается в зависимости от процента посещений разработчиками Python. Как только мы получим эти темпы роста для каждой этикетки, будет полезно поместить их в нашу сеть, чтобы увидеть, какие темы растут, а какие сокращаются.

Это помогает подтвердить наше подозрение, что большая часть роста в Python связана с наукой о данных и машинным обучением. Большинство кластеров стали оранжевыми, что означает, что эти метки стали составлять большую часть экосистемы Python.

промышленность

Еще один способ понять рост языка Python — рассмотреть, откуда и к каким типам компаний осуществляется доступ. Это отдельный вопрос по типу гостевого разработчика: и розничные компании, и медиакомпании могут нанимать специалистов по данным или веб-разработчиков.

Мы сосредоточимся на двух странах, где Python вырос больше всего: США и Великобритании. В этих странах мы смогли сегментировать трафик по отраслям (мы сравнилиАВС и АзурТакой же).

Отрасль с наибольшим трафиком Python (значительно растущим) — это академические круги, состоящие из колледжей и университетов. Это потому, что Python обычно преподается на курсах программирования для студентов?

Частично, но не полностью. Как мы видели в предыдущей статье, трафик Python из университетов распространен летом, а не только осенью и весной. Например, Python и Java являются наиболее посещаемыми тегами для университетов, и мы можем видеть различия в сезонных тенденциях.

В процентах мы можем видеть, что каждое лето трафик Java падает значительно, потому что Java является относительно распространенным предметом на курсах бакалавриата. (Мы рассмотрим наиболее распространенные языки программирования, используемые университетами, в следующих постах). Напротив, Python каждое лето имеет большую долю трафика. Таким образом, высокий поток вопросов Python от университетов частично объясняется академическими исследователями, которые обычно работают в течение всего года. Это дает еще одно доказательство того, что рост Python связан с его возможностями научных вычислений и анализа данных.

Для других отраслей, как мы видели,Python популярен в государственном секторе, быстро развивается, но мы также можем видеть, что он широко используется в электронной и обрабатывающей промышленности. Я не очень хорошо знаком с этими отраслями, и мне интересно понять, почему. Этот язык все еще недооценен в розничных или страховых компаниях (некоторые опросы показывают, что Java по-прежнему доминирует).

Эта статья в основном посвящена исследованию причин разработки Python. В некоторых отраслях трафик Python растет быстрее, чем в других?

За последний год рост Python был очень равномерно распределен по отраслям, по крайней мере, в США и Великобритании. В каждой отрасли трафик Python увеличился примерно на 2-3 абсолютных процентных пункта. (Обратите внимание, что это не обычная отрасль, такая как страхование и розничная торговля) относительный рост больше.

Во многих из этих отраслей Java остается наиболее посещаемым тегом на основе трафика с 2017 года, но Python делает успехи. Например, в сфере финансов (один из крупнейших источников трафика Stack Overflow в этих отраслях) Python поднялся с четвертого места по посещаемости в 2016 году на второе в 2017 году.

В заключение

Как специалиста по данным, который раньше работал на Python, а теперь работает на R, должно ли это подтолкнуть меня обратно к Python?

Я так не думаю.С одной стороны, R быстро растет, и, как мы видели в прошлой статье, это самый быстрорастущий основной язык программирования после Python. Но во-вторых, причины, по которым я предпочитаю использовать R для анализа данных, не имеют ничего общего с его относительной популярностью. (Я планирую написать личную запись в блоге о своем путешествии с Python на R, мне нравятся оба языка и почему я не чувствую необходимости переключаться обратно).

Несмотря на это, наука о данных — захватывающая и растущая область, и есть много места для процветания нескольких языков. Мой главный вывод — побудить разработчиков задуматься о развитии навыков работы с данными в начале своей карьеры. Здесь мы видим, что это один из самых быстрорастущих компонентов экосистемы разработки программного обеспечения, который становится актуальным во многих отраслях.

Если вы работаете с Python, веб-разработкой, наукой о данных или другими областями и ищете следующий шаг в своей карьере, прямо сейчас есть несколько компаний, занимающихся вакансиями Stack Overflow.Найм PythonРазработчик.