Результаты исследования, посвященного Python, дают представление об экосистеме разработки Python и обновляют ситуацию с Python 3 по сравнению с Python 2. Он также показывает заметные различия между теми, кто использует Python для веб-разработки и для науки о данных.
Мы уже ознакомились с результатами опроса разработчиков Python 2017 от JetBrains и Фонда программного обеспечения Python, см. Что Делает Python Особенным?. В этой статье мы рассмотрим, что опрос рассказывает нам о разработчиках Python, их ролях и для чего они используют Python. Среди результатов, о которых сообщалось, есть то, что среди тех, для кого Python является их основным языком, больше разработчиков (54%) использовали Python для веб-разработки, чем для анализа данных (51%), что я прокомментировал как удивительное.
Ситуация кажется еще более экстремальной, если посмотреть на вопрос «Для чего вы чаще всего используете Python?».
Веб-разработка снова занимает первое место с долей 29% среди тех, для кого Python был основным языком, по сравнению с долей 17% для анализа данных. Однако добавление машинного обучения (8%) к анализу данных, чтобы дать научную группировку данных (25%), выравнивает ситуацию. Действительно, если посмотреть на результаты опроса в целом, то есть на тех, для кого Python является вторичным языком, доля науки о данных в 27% едва превышает долю веб-разработки в 26%.
Рассматривая то, как Python является частью экосистемы инструментов и технологий, опрос показывает результаты для всех разработчиков Python, веб-разработчиков и специалистов по обработке данных, выявляя некоторые большие различия.
Животрепещущий вопрос для Python должен быть:
Какова текущая скорость внедрения Python 3?
Наконец — то у нас есть ответ, который показывает, что Python 3 имеет явную мажоритарную долю в 75% — по сравнению с 40% в сопоставимом опросе в 2016 году. Однако веб-разработчики отстают в этом отношении только на 70%, в то время как среди аналитиков данных 77% используют Python 3, а для специалистов по машинному обучению-еще более высокие 83%. В отчете об опросе высказываются предположения:
Вероятное объяснение заключается в том, что у некоторых веб-разработчиков все еще есть много устаревшего кода, который нужно поддерживать при переходе на Python 3. С другой стороны, многие аналитики данных и специалисты по машинному обучению совсем недавно присоединились к экосистеме Python и сразу перешли к последней версии Python 3.
Что касается установки и обновления, 70% устанавливают Python из python.org или с помощью менеджеров пакетов, предоставляемых ОС, таких как APT и Homebrew:
Респондентам было разрешено несколько ответов на вопрос Какие фреймворки вы используете в дополнение к Python? что привело к следующему распределению:
В то время как Django возглавил список в целом среди исследователей данных, он занял третье место с отставанием в 31%, на первом месте с 65%-научные пакеты, такие как NumPy, scipy и pandas, а на втором месте с 38% — библиотеки нейронных сетей Keras / Theano / TensorFlow /scikit-learn. Django использовали 76% веб-разработчиков с запросами (53%) на втором месте и Flask (49%) на третьем. Научные библиотеки использовались 29% веб-разработчиков, что может показаться удивительным, за исключением того, что, как обсуждалось в нашей предыдущей статье об этом опросе, разработчики Python, похоже, склонны сочетать веб-разработку с другими ролями, включая анализ данных.
Большое разнообразие ролей разработки среди респондентов опроса и совпадение между ними также отражено в ответах (опять же, допускается несколько вариантов) на вопрос, какие дополнительные технологии вы используете в дополнение к Python?:
В целом ноутбук Jupyter, ранее IPython, является самой популярной технологией, используемой вместе с Python, но не среди веб-разработчиков, где облачные платформы Docker (47%), ORM (46%), redis (40%) (39%) и инструменты DecOps (30%) опережают его 27%. Для исследователей данных Jupyter Notebook имеет 52% , а Анаконда (47%) занимает второе место. Docker занимает третье место с 23%, за ним следуют облачные платформы с 20%, что лишь вдвое меньше, чем среди веб-разработчиков.
Среди разработчиков, которые выбрали облачные платформы, лучшим поставщиком на сегодняшний день является AWS Amazon; Google App Engine, Heroku и Digital Ocean следуют за Microsoft Azure, занимая плохую пятую позицию.
Опрос включал вопрос: Какие редакторы/IDE вы рассматривали для использования в своей разработке на Python? (с несколькими ответами) и снова существует большая разница между веб-разработчиками и исследователями данных:
Sublime Text-единственный общий редактор, и в то время как почти половина веб-разработчиков предпочитают его, только чуть более четверти исследователей данных делают это. Для Data Scientist Jupyter Notebook стоит на первом месте, а Pycharm Community Edition-на втором. Vim и Atom — это редакторы, которые рассматривали веб-разработчики, хотя на практике они широко не используются.
Когда речь заходит о IDE и редакторах, которые фактически используются, двумя лучшими являются профессиональные и общественные издания JetBrains PyCharm, на долю которых приходится треть всех респондентов. Даже здесь существует большой разрыв: 30% веб-разработчиков используют Профессиональное издание и только 12% — издание Сообщества, в то время как более научные разработчики используют издание сообщества Pycharm (17%) и только 12% — Профессиональное издание. Проценты не достигают 100%, и дефицит больше среди научных разработчиков — больше из которых используют ноутбук Jupiter и, следовательно, не нуждаются в IDE.
Наш выбранный в настоящее время мультфильм xkcd криво комментирует фрагментарную природу экосистемы Python, и эти результаты, похоже, показывают, что многие инструменты конкурируют за внимание.
Нажмите для увеличения изображения
Больше мультяшного веселья в xkcd веб-комикс о романтике,сарказме, математике и языке