Résultats de l'Enquête 2020 sur les Développeurs Python
Résultats de l'Enquête 2020 sur les Développeurs Python
Il s'agit de la quatrième édition de l’enquête annuelle officielle sur les Développeurs Python réalisée par la Python Software Foundation et JetBrains. En octobre 2020, plus de 28 000 développeurs Python de près de 200 pays/régions ont répondu à cette enquête et permis de révéler la situation actuelle du langage et de son écosystème.
Utilisation générale de Python
Python en tant que langage principal ou secondaire
85 % des participant·es à l’enquête utilisent Python comme principal langage de programmation.
Utilisation de Python avec d'autres langages
JavaScript est le langage le plus souvent combiné avec Python. Avec HTML/CSS, Bash/Shell et SQL, ils constituent une pile de langages appréciée des développeurs Python. 2 développeurs Python sur 5 utilisent au moins l'un de ces langages.
JavaScript et C/C++ sont les langages principaux les plus populaires auprès des développeurs qui utilisent Python comme langage secondaire.
Langages pour le Web et la Science des données
Le développement web fait référence aux personnes qui ont choisi « développement web » en réponse à la question « À quelles fins utilisez-vous le plus Python ? ». La science des données fait référence aux personnes qui ont répondu « Analyse de données » ou « Apprentissage automatique » à cette même question.
Seuls 8 % des développeurs Python effectuant des tâches liées aux données n’utilisent aucun des autres langages, tandis que seulement 3 % des développeurs web travaillent uniquement avec Python. Il n’est donc pas surprenant que 75 % des développeurs web utilisent à la fois Python et JavaScript.
Objectifs de l’utilisation de Python
Dans cette section, nous avons posé des questions visant à découvrir à quelles fins les gens utilisent Python, dans quels types de développement ils sont impliqués et comment ils combinent leurs différentes utilisations.
À quelles fins utilisez-vous principalement Python ?
À quelles fins utilisez-vous Python ?
Les légères variations dans les cas d’utilisation de Python peuvent s’expliquer par une plus grande proportion d’étudiant·es parmi les participant·es à l’enquête (13 % contre 10 % l’année dernière). Nous constatons une augmentation des objectifs éducatifs et une diminution de tous les autres types d’activités pratiquées avec Python.
Dans quelle mesure êtes-vous impliqué·e dans les activités suivantes ?
À quelles fins utilisez-vous le plus Python ?
Considérez-vous être Data Scientist ?
Seuls 32 % des développeurs Python impliqués dans l’analyse des données et le machine learning se considèrent comme des Data Scientists.
Les Data Scientists sont deux fois plus susceptibles d’utiliser Anaconda pour mettre à jour leur version de Python, alors que les autres utilisateurs de Python préfèrent Python.org.
Seules les personnes travaillant dans l’analyse des données et le machine learning ont répondu à cette question.
Versions de Python
Python 3 vs Python 2
Cas d'utilisation des versions de Python
Versions Python 3
Installation et mise à niveau de Python
Les utilisateurs de Windows ont tendance à installer Python depuis Python.org, tandis que les utilisateurs de Linux et de macOS utilisent généralement les conteneurs Python, pyenv ou Docker fournis par le système d’exploitation.
Isolation de l’environnement Python
Il y a des dépendances intéressantes entre les IDE et les outils d’isolation de l’environnement :
- Plus de la moitié des utilisateurs de Jupyter Notebook et JupyterLab choisissent Conda. La part de Conda parmi les utilisateurs d'autres éditeurs n’est que de 20 % environ.
- PyCharm Professional Edition est en position de leader parmi les utilisateurs de Virtualenv et Docker.
- VS Code et PyCharm dominent chez les développeurs Python utilisant Pipenv.
- Vim arrive en tête pour les développeurs utilisant Vagrant et Poetry.
Fonctionnalités de Python
Fonctionnalités Python préférées
Ces résultats reposent sur l'analyse des réponses à la question ouverte « Quelles sont les 3 fonctionnalités du langage Python que vous appréciez le plus ? ».
* A l’exclusion des bibliothèques standards, des structures de données intégrées et des expressions qui ont été extraites dans des groupes séparés :
- Compréhension de liste, générateur
- Liste et dictionnaire
- Décorateur
- Asyncio, threads, multiprocesseur
- Gestionnaire de contexte
- Fonction lambda
** Autres sujets, spécifiés par moins de 1 % des participant·es.
Fonctionnalités Python souhaitées
Ces résultats reposent sur l'analyse des réponses à la question ouverte « Quelles sont les 3 fonctionnalités de langage que vous souhaiteriez voir ajoutées à Python ? »
* A l’exclusion des améliorations apportées aux bibliothèques standards qui ont été extraites dans d’autres groupes.
** Autres sujets, spécifiés par moins de 1 % des participant·es.
Frameworks et Bibliothèques
Frameworks web
FastAPI a été ajouté aux options pour la première fois dans cette itération de l’enquête et il semble être le troisième framework web le plus populaire pour Python.
Frameworks et bibliothèques de science des données
Les utilisateurs de NumPy sont plus enclins à utiliser Conda pour isoler leur environnement que les autres développeurs Python (32 % contre 22 %)
Frameworks de tests unitaires
L’utilisation de frameworks de tests unitaires est liée aux années d’expérience professionnelle. Les jeunes développeurs Python sont beaucoup moins susceptibles d'avoir recours aux tests unitaires.
Il est aussi plus courant que les développeurs impliqués dans l’analyse de données et le machine learning utilisent des frameworks de tests unitaires que les développeurs web et DevOps. Les développeurs utilisant le plus les frameworks de tests unitaires sont, en toute logique, ceux qui contribuent aux tests de logiciels et à l’écriture de tests automatisés.
Autres frameworks et bibliothèques
72 % des développeurs qui choisissent AWS utilisent le framework Requests.
Les utilisateurs de Tkinter et Pygame sont pour la plupart de jeunes spécialistes ayant moins d’un an d’expérience.
ORM
Sans surprise, la majorité des développeurs Python qui utilisent Flask préfèrent SQLAlchemy, alors que les utilisateurs de Django utilisent l'ORM de Django.
Bases de données
PostgreSQL est la base de données la plus populaire parmi les développeurs Python, et tout particulièrement parmi les utilisateurs d’AWS, avec une part de 65 %.
Outils Big Data
La plupart des utilisateurs d’outils Big Data préfèrent JupiterLab. C'est particulièrement vrai pour les utilisateurs d’Apache Spark et Dask. La deuxième place revient à Jupyter Notebook, bien que PyCharm Professional soit le choix le plus populaire parmi les utilisateurs d’Apache Kafka.
Technologies et Cloud
Meilleures plateformes cloud
Heroku et PythonAnywhere sont populaires parmi les jeunes professionnel·les ayant moins de 2 ans d'expérience, tandis que DigitalOcean et AWS sont plus répandus parmi les programmeurs Python plus expérimentés.
Comment exécutez-vous du code dans le cloud (dans l’environnement de production) ?
L’exécution de code dans des conteneurs reste la méthode la plus populaire, tandis que les machines virtuelles ont un peu perdu de leur popularité et ne sont plus choisies que par 43 % des utilisateurs en 2020. En 2018, elles totalisaient 47 % et constituaient le choix le plus populaire.
Comment développez-vous pour le cloud ?
Les testeurs constituent la majorité de ceux qui développent pour le cloud dans des conteneurs Docker.
Les développeurs web sont nettement moins enclins à travailler avec des environnements de développement distants et dans des machines virtuelles que les autres types de développeurs et préfèrent travailler localement avec virtualenv.
Outils de développement
Système d'exploitation
68 %
Linux
48 %
Windows
29 %
macOS
2 %
BSD
1 %
Autre
Plus les développeurs Python sont expérimentés, plus ils ont tendance à utiliser Linux et macOS comme environnements de développement et moins ils optent pour Windows.
Systèmes d'intégration continue (CI)
En 2020, Gitlab CI devance le précédent leader des systèmes d'intégration continue : Jenkins / Hudson.
Ce sont les testeurs qui utilisent le plus les systèmes d'intégration continue. Près de 80 % des développeurs impliqués dans les tests de logiciels ou l'écriture de tests automatisés utilisent des systèmes d'intégration continue.
Outils de gestion de configuration
Éditeurs et IDE
Pour identifier les éditeurs et les IDE les plus populaires, nous avons posé une question à réponse unique : « Quel est l’éditeur principal que vous utilisez actuellement pour le développement en Python ? » Les outils ayant obtenu moins de 0,5 % en 2019 ont été regroupées dans la catégorie « Autre ».
La part combinée des éditions Community et Professional de PyCharm est de 33 %, ce qui correspond aux résultats de l’année dernière. VS Code poursuit sa croissance et gagne 5 % de plus que l’année dernière. A contrario, la plupart des éditeurs de texte comme Vim ou Sublime Text ont vu leur taux d'utilisation baisser.
Jupyter Notebook, JupiterLab et Spyder ont gagné plus d’utilisateurs dans le domaine de la science des données.
Les parts des utilisateurs de VS Code qui travaillent avec des données et celles des développeurs web sont à peu près égales.
La part des développeurs web utilisant PyCharm représente près du double de celle des utilisateurs travaillant avec des données et la différence est particulièrement marquée pour PyCharm Professional Edition.
Outils et fonctionnalités pour le développement en Python
La plupart des actions mentionnées dans cette question sont nettement préférées par les utilisateurs les plus expérimentés. Plus un développeur a de l'expérience, plus il est susceptible d’utiliser ces technologies. Cette corrélation lien n’est cependant pas applicable aux indications de type facultatives ni à la saisie semi-automatique. Les utilisateurs de Python ayant plus de 11 ans d’expérience sont beaucoup moins enclins à effectuer ces types d'actions régulièrement que ceux qui ont depuis 3 à 5 ans d’expérience.
Situation professionnelle et travail
Travailler en équipe ou travailler de manière indépendante
Travailler sur des projets
Taille de l’équipe
Statut professionnel
Taille de l'entreprise
Secteur d'activité de l'entreprise
Secteur cible
Fonction professionnelle
Expérience de Python
Expérience professionnelle du codage
Tranche d’âge
Dans quel pays/région vivez-vous ?
Les pays/régions sélectionnés par moins de 1 % des participant·es figurent dans la catégorie « Autre ».
Méthodologie et Données brutes
Vous voulez réaliser une analyse plus approfondie ? Téléchargez les réponses anonymes à l’enquête et voyez ce que vous pouvez apprendre de ces données ! Partagez vos résultats et vos commentaires en mentionnant @jetbrains et @ThePSF sur Twitter avec le hashtag #pythondevsurvey.
Avant d'examiner ces données plus en détail, veuillez prendre en compte ces informations :
1
L’ensemble de données ne comprend que des réponses provenant des canaux officiels de la Python Software Foundation. Après filtrage des réponses en double et peu fiables, l’ensemble de données se compose de plus de 28 000 réponses collectées en octobre et novembre 2020 grâce à la promotion de l’enquête sur python.org, le blog de PSF, les comptes Twitter et LinkedIn de PSF, les listes de diffusion officielles de Python et les communautés reddits associées à Python. Afin d’éviter que l’enquête puisse favoriser un outil ou une technologie spécifique, aucun canal associé à des produits, services ou fournisseurs n’a été utilisé pour recueillir les réponses.
2
Les données sont anonymisées et ne contiennent aucune information personnelle ou de géolocalisation. En outre, afin d’empêcher l’identification de tout·e participant·e individuel·le par le contenu ses de commentaires, tous les champs ouverts ont été supprimés.
3
Pour vous permettre de mieux comprendre la logique de l’enquête, nous partageons l’ensemble des données, questions et informations sur la méthodologie. Nous avons utilisé plusieurs méthodes de tri pour les propositions de réponse (alphabétique, aléatoire et directe). L’ordre des réponses est précisé pour chaque question.
Une fois de plus, au nom de la Python Software Foundation et de JetBrains, nous tenons à remercier toutes celles et ceux qui ont participé à cette enquête. Vos contributions nous permettent de mieux connaître la communauté Python et d'en restituer une cartographie plus précise !
Merci du temps que vous nous avez consacré !
Nous espérons que vous avez trouvé notre rapport utile. Partagez-le avec vos ami·es et collègues.
Participez aux futures enquêtes :
Si vous avez des questions concernant cette enquête ou des suggestions pour les prochaines, veuillez nous contacter à l’adresse surveys@jetbrains.com ou psf@python.org