A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://lp.jetbrains.com/python-developers-survey-2021/ below:

Python Developers Survey 2021 Results

Python Developers Survey 2021 Results

This is the fifth official annual Python Developers Survey, conducted as a collaborative effort between the Python Software Foundation and JetBrains. In fall 2021, more than 23,000 Python developers and enthusiasts from almost 200 countries/regions took the survey to reveal the current state of the language and the ecosystem around it.

Check out the Python Developer Survey results in 2020, 2019, 2018, and 2017.

Python as main vs secondary language

For the last 4 years the share of developers who use Python as their main language remains at the pretty same level of 84-85%.

Python usage with other languages100+

JavaScript

HTML/CSS

Bash / Shell

SQL

C/C++

Java

C#

TypeScript

Go

PHP

Rust

R

Visual Basic

Kotlin

JavaScript is the most popular language used together with Python. However, for developers who use Python as a secondary language, C/C++ are about as popular as JavaScript. HTML/CSS, Bash/Shell, and SQL are also widespread, each being used by more than a third of Python developers.

Languages for Web and Data Science100+

SQL

Bash / Shell

JavaScript

HTML/CSS

C/C++

Web development refers to people who selected “Web development” in response to the question “What do you use Python for the most?”. Data science refers to people who selected “Data analysis” or “Machine Learning” in the same question.

Unsurprisingly, the most popular languages used along with Python by web developers are JavaScript (69%) and HTML/CSS (60%), while developers involved in data-related tasks more often use SQL (42%). Also, the share of developers who don’t use any additional languages is three times higher among those who are involved in data-related tasks, compared to web developers.

Purposes for Using Python

In this section, we asked questions to find out what people use Python for, what types of development they are involved in, and how they combine their various uses.

For what purposes do you mainly use Python?

52%

Both for work and personal

29%

For personal, educational or side projects

Python usage in 2020 and 2021100+

Data analysis

Web development

DevOps / System administration / Writing automation scripts

Machine learning

Programming of web parsers / scrapers / crawlers

There are no great changes in the distribution of Python use cases over the years. Data analysis, machine learning, web development, and DevOps are still the most popular fields for Python usage.

Python usage as main and secondary language100+

Data analysis

Web development

Machine learning

DevOps / System administration / Writing automation scripts

Programming of web parsers / scrapers / crawlers

To what extent are you involved in the following activities?

Software testing / Writing automated tests

DevOps / System administration / Writing automation scripts

Multimedia applications development

Programming of web parsers / scrapers / crawlers

What do you use Python for the most?100+

Web development

Data analysis

Machine learning

DevOps / System administration / Writing automation scripts

Educational purposes

A quarter of developers who use Python as their main language primarily use it for web development. Among those for whom Python is a secondary language, only 12% do so.

Interestingly, data analysis as a primary field for Python usage is reported by nearly the same share of developers both for whom it is the main programming language (17%) and as a secondary one (16%).

Do you consider yourself a Data Scientist?

This question was only answered by respondents who are involved in Data analysis and Machine learning.

Only 29% of the Python developers involved in data analysis and machine learning consider themselves to be Data Scientists.

On average, the share of Python 2 users decreases by 5 percentage points each year, and now only 5 developers out of 100 use it.

It is interesting that compared to Python 3, Python 2 is more often applied to computer graphics, games, and mobile development.

Python version use cases100+

Data analysis

Web development

DevOps / System administration / Writing automation scripts

Machine learning

Programming of web parsers / scrapers / crawlers

Python installation and upgrade100+

OS-provided Python (via apt-get, yum, homebrew, etc.)

Somebody else manages Python updates for me

Automatic upgrade via cloud provider

Intel Distribution for Python

Note: Enthought got less than 0.5% and has been merged to Others.

More than half of Windows users get Python from Python.org, while among Linux users only a third do so. Unsurprisingly, Linux and macOS users most often install and update Python using OS-provided options. At the same time, for macOS users, pyenv and Docker containers are also fairly popular ways of getting Python.

Python environment isolation100+

Vagrant / virtual machines

Among Python developers, 75% use some tools to isolate Python environments. Interestingly, Conda is the most popular tool for it among developers who use Jupyter Notebook (50%), while other developers prefer Virtualenv and Docker.

Flask, Django, and FastAPI are still the top-3 Python web frameworks. FastAPI, initially released at the end of 2018, shows the fastest growth, having grown by 9 percentage points compared to the previous year. At the same time, compared to 2020, the share of Flask users decreased by 5 percentage points.

You can find more about the Django framework landscape in the Django Developers Survey 2021, conducted in partnership with Django Software Foundation.

Data science frameworks and libraries100+

10% of Python developers simultaneously use 7 or more data science frameworks and libraries, while about a half of them use 2 or fewer frameworks.

Other frameworks and libraries100+

The majority of other frameworks are more popular among web-developers than among data scientists, who use Tkinker and PyQT significantly more often.

Unit-testing frameworks100+

The popularity of different Python unit-testing frameworks remains nearly the same compared to last year.

While only 56% of solo-developers use them, 75% of respondents from companies of 5,000 or more employees report using unit-testing frameworks.

SQLAlchemy is the most popular ORM among all database users.

It is interesting that 52% of Redis users use Django ORM, while generally it is used by less than a third of Python devs. Also noteworthy is that 20% of Amazon Redshift users use SQLObject, while in the general population this number is only about 5%.

Among data scientists 80% use databases, while among web developers 98% do so.

Those who are involved in web development use PostgreSQL 32 percentage points more often, Redis 25 ​​percentage points more often, and SQLite 12 percentage points more often than those who are involved in data science. At the same time, data scientists report to use Oracle Database twice more often than web developers.

The distribution of big data tools remains nearly the same compared to last year. Generally, data scientists use them 13 percentage points more often than other developers, and Apache Spark and Dask are about twice as popular among them.

61%

of Python developers use cloud platforms.

This question was only answered by respondents who use cloud platforms.

Interestingly, Visual Basic, C#, and C/C++ users use AWS nearly half as often as Python developers in general.

How do you run code in the cloud?100+

Within containers

In virtual machines

On a Platform-as-a-Service

Serverless

Other

This question was only answered by respondents who use cloud platforms.

Virtual machines continue to lose their popularity. While in 2018 they had a share of 47% and were the most popular choice, now only 41% of Python developers use them.

How do you develop for the cloud?100+

Locally with virtualenv

In Docker containers

In virtual machines

In remote development environments

With local system interpreter

This question was only answered by respondents who use cloud platforms.

Local Python development with virtualenv is extremely popular among those who are involved in web development, DevOps, and software prototyping (61-65%). Docker containers usage is mostly popular among web-devs (54%).

Virtual machines are widely used by developers involved in DevOps, machine learning, and network programming (26-27%). Interestingly, those involved in DevOps and machine learning also use remote development environments more often than all other respondents.

Compared to 2020, Linux and macOS popularity decreased by 5 percentage points each, while Windows usage has risen by 10 percentage points.

Continuous integration (CI) systems100+

Introduced in 2018, GitHub Actions quickly gained popularity and now is in first place in the list of CI systems, being used by slightly less than a third of Python developers.

Another growing CI system is Gitlab CI – its usage has risen by 4 percentage points since 2018. At the same time, Travis CI is rapidly losing its popularity, with a decrease of 13% from 2018. Jenkins/Hudson have also lost 8 percentage points in three years.

36%

of Python programmers use documentation tools. The most popular one is Sphinx.

Tools and Features for Python Development

use autocompletion in your editor

use Version Control Systems

use Python virtual environments for your projects

write tests for your code

use optional type hinting

run / debug or edit code on remote machines

use Continuous Integration tools

Those who use Python as a primary language use a Python profiler and code coverage 8 percentage points more frequently, and Python virtual environments 10 percentage points more frequently, for their projects than developers who use Python as a secondary language.

Editors

The combined share of the PyCharm Community and Professional editions is 31%, which is close to last year's result. VS Code has grown by 6 percentage points compared to last year.

Interestingly, PyCharm and VS Code are equally popular among web developers (39%), while data scientists prefer VS Code by 9 percentage points more as their main IDE.

To identify the most popular editors and IDEs, we asked a single-answer question “What is the main editor you use for your current Python development?”.

Data science vs. Web development100+

VS Code

PyCharm

Vim

Atom

Emacs

Web development refers to people who selected “Web development” in response to the question “What do you use Python for the most?”. Data science refers to people who selected “Data analysis” or “Machine Learning” in the same question.

How did you first learn about your main IDE/Editor?

Online learning platform / Online course

Technical review / Forum / Blog

The most popular ways Python developers learn about their main IDE are learning activities, their friends/colleagues recommendations, or search engines.

Interestingly, only 1% of respondents reported advertising was a source of discovering the tool.

57% of those using Jupyter Notebook first learn about it in School/University or on online courses, while overall 25% of respondents learn about their tool the same way.

Number of IDEs/Editors used

VS Code, Jupyter Notebook, and PyCharm are the most popular to use in addition to the main IDE, with each being used by more than 20% of Python developers.

Frequency of main IDE/Editor usage

IDEs/Editors used in addition to main IDE/Editor100+

Python Tools for Visual Studio (PTVS)

VS Code, Jupyter Notebook, and PyCharm are the most popular to use in addition to the main IDE, with each being used by more than 20% of Python developers.

Those who use Jupyter Notebook as their main IDE additionally use Spyder about four times more often than other Python developers.

Did you know?

In 2021, The Python Software Foundation appointed a new Developer-in-Residence to work full-time on the Python programming language and support its developer community.

Core developer Łukasz Langa was hired to the CPython DIR role in July. Langa is working to help clear the backlog, investigate project priorities, and look into other areas of interest.

What do you think about the new
Developer-in-Residence role?

14%

It seems good, but I haven’t seen any impact yet

7%

It seems good, and I am already seeing an impact

77%

I have never heard of it

23% of Python developers already know about the Developer-in-Residence role, and 91% of them find this initiative good.

Moreover, 30% of developers who are aware of the Developer-in-Residence role already see the impact of this innovation.

Reporting the issues

Only 19% of Python users have ever reported its bugs. Interestingly, using bugs.python.org is not the most popular way to report them – about twice as many programmers prefer to ask elsewhere or submit a pull request to GitHub.

Of those who reported bugs, 73% got their issue solved, and only 7% of respondents say they have never heard back from anybody.

Have you tried reporting your issues?

Yes, I’ve asked elsewhere

Yes, I’ve submitted a pull request on GitHub

Yes, I’ve reported an issue on bugs.python.org

Yes, I’ve asked on mailing lists

Yes, I’ve asked on Discourse

No, although there was discussion

No, I never heard back from anybody

This question was only answered by respondents who have already reported issues.

63%

of Python developers use containers, and 59% of them use a virtual environment in them.

Do you use a virtual environment in containers?

Containers (eg: via Docker)

Workplace specific proprietary solution

Do you use the standard library module venv?100+

Application dependencies

45% of Python developers use some tools for version pinning of application dependencies. The most common way to store it is in requirements.txt, which is used by three quarters of developers.

Do you use any tools for managing precise/exact versions of application dependencies?

What format(s) is your application dependency information stored in?100+

This question was only answered by respondents who use some tools for managing precise/exact versions of application dependencies.

Do you use any automated services to update the versions of application dependencies?100+

Custom tools, e.g. a cron job or scheduled CI task

No, my application dependencies are updated manually

Which tools do you use for application dependency management?100+

This question was only answered by respondents who use some tools for managing precise/exact versions of application dependencies.

Packages installation

90% of developers report they use pip to install Python packages. The Python Package Index is the most popular place to get the packages from.

Where do you install packages from? 100+

Private Python Package Index

conda-forge Conda channel

Which tools do you use for installing packages?100+

55%

of Python developers say they develop applications, and Setuptools is the most popular tool for this purpose, used by 46% of developers.

Which tool(s) do you use to develop
Python applications?
100+

This question was only answered by respondents who develop applications.

While more than half of Python users develop applications, only 40% of them have already published these apps to a package repository.

Which tools do you use to create packages
of your Python libraries?
100+

This question was only answered by respondents who develop Python libraries.

34% of respondents develop Python libraries, and for them Setuptools is the most common way to package it, used by 71%.

Interestingly, only 27% of Python library developers have already published them to a package repository.

Where have you published your packaged
Python libraries?
100+

37%

Private Python Package Index

10%

Internal mirror of PyPI

This question was only answered by respondents who published their packaged Python libraries.

The Python Package Index is the most popular place to publish developed libraries and application packages, while the Private PyPI is used about half as often.

Working in a team vs working independently

48%

Work on own project(s) independently

4%

Work as an external consultant or trainer

42%

Work on many different projects

39%

Work on one main and several side projects

19%

Only work on one project

Fully employed by a company / organization

Partially employed by a company / organization

This question was only answered by respondents who are employed in companies.

This question was only answered by respondents who are employed in companies.

Information Technology / Software Development

Accounting / Finance / Insurance

Banking / Real Estate / Mortgage Financing

This question was only answered by respondents who are employed in companies.

Information Technology / Software Development

Accounting/Finance/Insurance

Sales / Distribution / Business Development

Banking / Real Estate / Mortgage Financing

This question was only answered by respondents who are employed in companies.

This question was only answered by respondents who are employed.

Professional coding experience

What is your country or region?

All countries/regions smaller than 1% have been merged into “Other”.

Before dissecting these data, please note the following important information:

Criteria for filtering out responses

At least two of the following:

Once again, on behalf of both the Python Software Foundation and JetBrains, we’d like to thank everyone who took part in this survey. With your help, we’re able to map the landscape of the Python community more accurately!

Contribute to the PSF’s Recurring Giving Campaign. The PSF is a non-profit organization entirely supported by its sponsors, members & the public.

We hope you found our report useful. Share this report with your friends and colleagues!


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4