Компания JetBrains и организация Python Software Foundation опубликовали результаты совместного ежегодного опроса, в котором приняли участие более 23 тысяч разработчиков, использующих язык программирования Python. В ходе опроса, который проводился в 2022 году, о переходе на использование Python 3 заявили 93% опрошенных, а 7% продолжают пользоваться веткой Python 2, которая в настоящее время не поддерживается в большинстве дистрибутивов Linux и была переведена в разряд неподдерживаемых ещё в апреле 2020 года (изначально прекратить поддержку планировалось в 2015 году, но сроки постоянно продлевались). Примечательно, что при опросе в 2021 году лишь 5% заявили об использовании Python 2, в 2020 – 6%, в 2019 – 10%, 2018 – 16%, в 2017 – 25%.
Некоторые другие тенденции:
- 29% разработчиков, продолжающих использовать Python 2, указали, что применяют его для анализа данных, 24% для компьютерной графики, 23% – в практиках devops, 19% – для web-разработки, 18% – для десктоп-систем, 18% – для сетевых приложений, 13% – для разработки игр, 13% – мобильных приложений, 13% -машинного обучения и 13% – создания web-парсеров.
- 45% опрошенных используют ветку Python 3.10 (наиболее актуальный выпуск на момент опроса в 2022 году, так как ветка 3.11 была опубликована в октября 2022 года), 23% – Python 3.9, 17% – Python 3.8, 9% – Python 3.7, 4% – Python 3.6, 2% – Python 3.5 (2015 год) или более старые версии.
- 11% заявили, что не обновляют свои версии Python, 37% используют сборки с python.org для Windows, 26% используют пакеты из дистрибутивов Linux или репозитория homebrew для macOS, 17% пользуются образами Docker, 17% – Anaconda, 16% – pyenv, 6% – собирают Python из исходных текстов, 6% используют версии, обновлением которых занимаются другие сотрудники, 5% – используют версии от облачных провайдеров.
- 59% опрошенных используют Linux, 58% – Windows, 26% – macOS, 3% – BSD-системы.
- 86% отметили, что используют не только Python, но и другие языки программирования. При этом 85% заявили, что Python является основным для них языком. В качестве наиболее популярных вторичных языков разработчики на Python отметили JavaScript (37%), HTML/CSS (37%), SQL (35%), Bash/Shell (32%) и C/C++ (27%).
- 21% используют Python только для работы, 21% – только в личных проектах, 51% – для работы, сторонних проектов, личных или образовательных нужд.
- При предоставлении возможности указания нескольких вариантов ответа, 53% отметили использование Python для анализа данных, 45% – web-разработки, 37% – для машинного обучения, 35% – для администрирования, DevOps и написания сценариев автоматизации, 30% – для парсеров и web-ботов, 27% – для обучения, 26% для тестирования ПО, 20% – для создания прототипов, 19% – для десктоп-систем,
17% – для сетевых приложений, 13% – для компьютерной графики, 9% – для разработки игр, 7% для мобильных приложений, 7% для встраиваемых систем, 6% – для мультимедийных приложений. - При оценке основного применения 22% опрошенных используют Python главным образом для web-разработки, 18% – для анализа данных, 12% – для машинного обучения, 10% для системного администрирования, DevOps и написания сценариев автоматизации, 9% – для обучения, 5% – для десктоп-систем, 4% для создания прототипов, 4% для парсеров и web-ботов, 3% – для тестирования ПО, 3% для сетевых приложений, 2% для разработки игр и по 1% для мобильных приложений, компьютерной графики, мультимедийных и встраиваемых систем.
- 37% используют в качестве основной среды для написания кода редактор VS Code, 29% – PyCharm, 5% – Jupiter Notebook, 3% – vim, 3% – neovim, по 2% – Sublime Text, IDLE, Emacs, IDEA, Spyder, NotePad++ и YupiterLab.
- 85% опрошенных используют инструменты для изоляции между проектами, такие как venv (43%), virtualenv (37%) и Conda (21%). 32% используют изолированные контейнеры.
- 45% разработчиков используют инструменты для управления версиями зависимостей, такие как Poetry (30%), pipenv (28%) и pip-tools (26%). 30% обновляют версии зависимостей вручную.
- 73% устанавливают пакеты из репозитория PyPl, 33% из GitHub, 17% – пересобирают локально, 16% используют Anaconda, 12% – устанавливают из репозиториев дистрибутивов.
- Web-фреймворки, наиболее популярные у разработчиков Python: Flask (39%), Django (39%) и FastAPI (25%).
- Наиболее популярные инструментарии для теcтирования: pytest (51%), unittest (24%) и mock (10%).
- Наиболее популярные фреймворки и библиотеки, не связанные с web и тестированием:
- Наиболее популярные СУБД: