Ergebnisse der Python-Entwicklerumfrage 2020
Ergebnisse der Python-Entwicklerumfrage 2020
Dies ist die vierte Iteration der offiziellen jährlichen Python-Entwicklerumfrage, die von der Python Software Foundation und JetBrains gemeinsam durchgeführt wird. Im Oktober 2020 nahmen mehr als 28.000 Python-Entwickler*innen und Python-Fans aus fast 200 Ländern/Regionen an der Umfrage teil, um zu einer Bestandsaufnahme rund um die Sprache und das dazugehörige Ökosystem beizutragen.
Python-Nutzung allgemein
Python als Haupt- und Nebensprache
85% der Befragten verwenden Python als ihre Hauptprogrammiersprache.
Verwendung von Python mit anderen Sprachen
JavaScript ist die am häufigsten mit Python kombinierte Sprache. Zusammen mit HTML/CSS, Bash/Shell und SQL bildet sie eine Gruppe, aus der 2 von 5 Python-Entwickler*innen mindestens eine Sprache verwenden.
JavaScript und C/C++ sind die häufigsten Hauptsprachen bei denjenigen, die Python als Nebensprache verwenden.
Sprachen für Web und Data Science
»Web-Entwicklung« bezeichnet Personen, die bei der Frage »Wofür verwenden Sie Python am meisten?« die Antwort »Web-Entwicklung« auswählten. »Data Science« bezeichnet Personen, die bei derselben Frage »Datenanalyse« oder »Maschinelles Lernen« auswählten.
Nur 8% der Python-Entwickler*innen, die datenbezogene Aufgaben ausführen, verwenden keinerlei zusätzliche Sprachen, und nur 3% der Webentwickler*innen arbeiten ausschließlich mit Python. Es verwundert nicht, dass 75% der Webentwickler*innen sowohl Python als auch JavaScript verwenden.
Verwendungszwecke von Python
Mit den Fragen in diesem Abschnitt wollten wir herausfinden, wofür die Befragten Python verwenden, an welchen Arten von Projekten sie beteiligt sind und wie sie die verschiedenen Verwendungszwecke kombinieren.
Für welchen Zweck verwenden Sie Python hauptsächlich?
Wofür verwenden Sie Python?
Die geringfügigen Verschiebungen bei den Python-Anwendungsfällen lassen sich durch einen größeren Anteil von Schüler*innen und Studierenden unter den Befragten erklären (13% gegenüber 10% im Vorjahr). Bei der Python-Verwendung gab es eine Zunahme der bildungsbezogenen Aktivitäten zulasten aller anderen Arten von Aktivitäten.
Inwieweit sind Sie an folgenden Aktivitäten beteiligt?
Wofür verwenden Sie Python am meisten?
Würden Sie sich als Data Scientist betrachten?
Nur 32% der Python-Entwickler*innen, die an Datenanalysen und maschinellem Lernen mitarbeiten, betrachten sich als Data Scientists.
Data Scientists verwenden Anaconda mit mehr als doppelt so hoher Wahrscheinlichkeit zum Aktualisieren ihrer Python-Versionen, während andere Python-User Python.org bevorzugen.
Diese Frage wurde nur von Befragten beantwortet, die an Datenanalysen und maschinellem Lernen arbeiten.
Python-Versionen
Python 2 und Python 3 im Vergleich
Anwendungsfälle nach Python-Versionen
Python-3-Versionen
Installation und Upgrade von Python
Windows-User installieren Python in der Regel von Python.org, während auf Linux und macOS normalerweise das vom Betriebssystem bereitgestellte Python, Pyenv oder Docker-Container zum Einsatz kommen.
Isolierung der Python-Umgebung
Es gibt interessante Zusammenhänge zwischen den IDEs und den Tools zur Umgebungsisolierung:
- Mehr als die Hälfte der Jupyter-Notebook- und JupyterLab-User entscheiden sich für Conda. Unter den Nutzer*innen anderer Editoren beträgt Condas Anteil nur etwa 20%.
- PyCharm Professional Edition ist führend unter Virtualenv- und Docker-Usern.
- VS Code und PyCharm haben die größten Anteile unter Pythonisten, die Pipenv verwenden.
- Vim kommt auf den ersten Platz unter Verwendern von Vagrant und Poetry.
Python-Features
Beliebteste Python-Features
Diese Ergebnisse basieren auf den Antworten auf die offene Frage »Welche 3 Sprachmerkmale von Python gefallen Ihnen am besten?«.
* Ausgenommen Standardbibliotheken, eingebaute Datenstrukturen und Ausdrücke, die separaten Kategorien zugeordnet wurden:
- List-Comprehension, Generator
- List & Dictionary
- Decorator
- Asyncio, Threading, Multiprocessing
- Kontextmanager
- Lambda-Funktion
** Andere Themen, die von weniger als 1% der Befragten genannt wurden.
Gewünschte Python-Features
Diese Ergebnisse basieren auf den Antworten auf die offene Frage »Welche 3 Sprachmerkmale würden Sie sich bei Python wünschen?«.
* Ausgenommen Verbesserungen an Standardbibliotheken, die separaten Kategorien zugeordnet wurden.
** Andere Themen, die von weniger als 1% der Befragten genannt wurden.
Frameworks und Bibliotheken
Web-Frameworks
FastAPI, in diesem Jahr zum ersten Mal unter den Antwortoptionen, scheint bereits das drittpopulärste Webframework für Python zu sein.
Data-Science-Frameworks und -Bibliotheken
NumPy-User verwenden Conda eher zum Isolieren ihrer Python-Umgebung als andere Pythonisten. (32% gegenüber 22%)
Unit-Test-Frameworks
Die Verwendung von Unit-Test-Frameworks korreliert eng mit der Berufserfahrung. Jüngere Python-Entwickler*innen nutzen Unit-Tests viel seltener.
Außerdem ist der Einsatz von Unit-Test-Frameworks viel verbreiteter unter Befragten, die mit Datenanalysen und maschinellem Lernen befasst sind, als unter denjenigen, die Webentwicklung und DevOps betreiben. Am häufigsten werden Unit-Test-Frameworks erwartungsgemäß von Entwickler*innen verwendet, die Softwaretests durchführen und automatisierte Tests schreiben.
Andere Frameworks und Bibliotheken
72% der Entwickler*innen, die sich für AWS entscheiden, verwenden das Requests-Framework.
Tkinter- und Pygame-User sind meist junge Spezialisten mit weniger als einem Jahr Erfahrung.
ORMs
Die Mehrheit der Pythonisten, die Flask verwenden, bevorzugen SQLAlchemy, während Django-User Django ORM verwenden. Welch eine Überraschung!
Datenbanken
PostgreSQL ist die beliebteste Datenbank unter Python-Entwickler*innen. Noch weiter verbreitet ist sie mit einem Anteil von 65% unter AWS-Usern.
Big-Data-Tools
Die meisten Benutzer*innen von Big-Data-Tools bevorzugen JupyterLab. Dies gilt insbesondere für Apache-Spark- und Dask-User. Der zweite Platz gehört Jupyter Notebook, obwohl PyCharm Professional die beliebteste Wahl unter Apache-Kafka-Benutzer*innen ist.
Technologien und Cloud
Top-Cloudplattformen
Heroku und PythonAnywhere sind bei Nachwuchskräften mit einer Berufserfahrung von bis zu 2 Jahren populär, während AWS und DigitalOcean bei erfahrenen Python-Entwickler*innen beliebter sind.
Wie führen Sie Code in der Cloud (in der Produktionsumgebung) aus?
Das Ausführen in Containern ist nach wie vor die beliebteste Methode. Virtuelle Maschinen wurden 2020 von nur 43% der Befragten verwendet und haben damit etwas an Popularität eingebüßt. Noch 2018 waren sie mit einem Anteil von 47% die häufigste Wahl.
Wie entwickeln Sie für die Cloud?
Die Mehrheit derjenigen, die in Docker-Containern für die Cloud entwickeln, sind mit Tests beschäftigt.
Webentwickler*innen arbeiten wesentlich seltener in Remote-Entwicklungsumgebungen und in virtuellen Maschinen als andere Entwicklertypen. Sie entwickeln lieber lokal mit virtualenv.
Entwicklertools
Betriebssystem
68%
Linux
48%
Windows
29%
macOS
2%
BSD
1%
Sonstige
Je erfahrener Python-Entwickler*innen sind, desto wahrscheinlicher ist es, dass sie Linux oder macOS als Entwicklungsumgebung verwenden, und desto seltener entscheiden sie sich für Windows.
Continuous-Integration-Systeme (CI)
Im Jahr 2020 hat Gitlab CI in der Kategorie Continuous-Integration-Systeme den bisherigen Marktführer Jenkins/Hudson überholt.
Tester*innen nutzen Continuous-Integration-Systeme am fleißigsten. Fast 80% der Befragten, die an Softwaretests oder dem Schreiben automatisierter Tests beteiligt sind, verwenden CI-Systeme.
Konfigurationsmanagement-Tools
Editoren und IDEs
Um die beliebtesten Editoren und IDEs zu identifizieren, haben wir eine Frage mit Einfachnennung gestellt: »Was ist Ihr Haupteditor für Ihre aktuelle Python-Entwicklung?« Antwortoptionen, deren Anteil 2019 weniger als 0,5% betrug, wurden unter »Sonstige« zusammengefasst.
Der kombinierte Anteil der Community- und Professional-Editionen von PyCharm beträgt wie im vergangenen Jahr 33%. VS Code wächst weiter und steigert seinen Anteil um 5% gegenüber dem Vorjahr. Dafür haben die meisten Texteditoren wie Vim oder Sublime Text Anteile verloren.
Jupyter Notebook, JupyterLab und Spyder haben Nutzer*innen im Bereich Data Science hinzugewonnen.
Unter VS-Code-Usern kommen Data Science und Webentwicklung auf ungefähr gleiche Anteile.
Unter PyCharm-Usern hat die Webentwicklung einen etwa doppelt so hohen Anteil wie die Arbeit mit Daten. Besonders ausgeprägt ist die Differenz bei der PyCharm Professional Edition.
Tools und Features für die Python-Entwicklung
Die meisten Aktionen in dieser Frage korrelieren deutlich mit der Erfahrung. Je länger jemand den Entwicklerberuf ausübt, desto wahrscheinlicher ist es, dass er/sie die aufgeführten Technologien verwendet. Diese Beziehung gilt jedoch nicht für optionale Typhinweise und automatische Vervollständigung. Der Anteil der Pythonisten mit mindestens 11 Jahren Erfahrung, die diese Aktionen regelmäßig ausführen, ist viel geringer als bei Befragten mit 3 bis 5 Jahren Programmiererfahrung.
Arbeit und Beschäftigung
Teamarbeiter und Einzelkämpfer
Arbeit an Projekten
Teamgröße
Beschäftigungsstatus
Unternehmensgröße
Unternehmensbranche
Zielbranche
Arbeitsrollen
Python-Erfahrung
Berufserfahrung in der Programmierung
Altersgruppe
In welchem Land/welcher Region leben Sie?
Alle Länder/Regionen mit einem Anteil unter 1% wurden unter «Sonstige» zusammengefasst.
Methodik und Rohdaten
Möchten Sie tiefer in die Daten eintauchen? Laden Sie die anonymisierten Umfrageantworten herunter und führen Sie Ihre eigenen Analysen durch! Teilen Sie Ihre Erkenntnisse auf Twitter unter dem Hashtag #pythondevsurvey und erwähnen Sie dabei @jetbrains und @ThePSF.
Vor einer Analyse dieser Daten beachten Sie bitte die folgenden wichtigen Informationen:
1
Der Datensatz enthält nur Antwortbögen aus den offiziellen Kanälen der Python Software Foundation. Nach dem Herausfiltern doppelter und unzuverlässiger Antwortbögen enthält der Datensatz mehr als 28.000 Antwortbögen, die im Oktober und November 2020 von Befragten ausgefüllt wurden, die auf python.org, im PSF-Blog, auf dem Twitter- und LinkedIn-Account der PSF, auf offiziellen Python-Mailinglisten und in Python-bezogenen Subreddits rekrutiert wurden. Um eine Verzerrung der Umfrage zugunsten bestimmter Tools oder Technologien zu verhindern, wurden keine Produkt-, Service- oder Herstellerkanäle zur Rekrutierung verwendet.
2
Die Daten sind anonymisiert und enthalten keine persönlichen Informationen oder Ortungsdaten. Darüber hinaus wurden alle offenen Antworten gelöscht, um eine Identifizierung einzelner Befragten anhand ihrer wörtlichen Antworten zu verhindern.
3
Um Ihnen zu einem besseren Verständnis der Umfrage zu verhelfen, stellen wir den Datensatz, die gestellten Fragen und die gesamte Umfragelogik zur Verfügung. Bei den Antwortoptionen haben wir verschiedene Reihenfolgen verwendet (alphabetisch, randomisiert und direkt). Die Reihenfolge der Antworten ist für jede Frage angegeben.
Im Namen der Python Software Foundation und von JetBrains möchten wir uns noch einmal bei allen bedanken, die an dieser Umfrage teilgenommen haben. Mit Ihrer Hilfe können wir die Landschaft der Python-Community viel genauer abbilden!
Vielen Dank für Ihr Interesse!
Wir hoffen, dass Sie unseren Bericht nützlich fanden. Teilen Sie ihn gerne im Freundes- und Kollegenkreis.
Nehmen Sie an künftigen Umfragen teil:
Wenn Sie Fragen zu dieser Umfrage oder Vorschläge für zukünftige Umfragen haben, wenden Sie sich bitte an surveys@jetbrains.com oder psf@python.org.