Python en 2018, les chiffres clés de la communauté
EDI, frameworks, utilisation, SGBD, ORM, tests...

Le , par Michael Guilloux

220PARTAGES

21  0 
À l'automne 2018, JetBrains et la Python Software Foundation (PSF) ont mené une enquête annuelle officielle sur les développeurs Python, la deuxième enquête de ce genre après celle de l'année 2017. À l'instar de l'enquête précédente, la fondation a cherché à identifier les dernières tendances et à mieux comprendre le monde du développement Python en 2018. Plus de 20 000 développeurs de plus de 150 pays différents ont participé cette année, ce qui a permis de donner une photographie plus ou moins pertinente du paysage actuel de la communauté Python.

Pour en venir aux résultats, l'enquête révèle que Python est pour 84 % de ses utilisateurs leur langage principal et pour les 16 % restants un langage secondaire. En 2017, c'était 79 % des répondants qui avaient indiqué utiliser Python comme langage principal, ce qui signifie une hausse de 5 points de pourcentage en un an. La Python Software Foundation (PSF) et JetBrains ont aussi tenté lors de leur enquête de fournir des réponses à des questions comme : pour quels types d'activités ou tâches Python est-il utilisé ? Quel est l'état des lieux de l'adoption de Python 3 ? Quels sont les frameworks et les outils de développement les plus utilisés dans le monde Python ? Etc. Voici ci-après les principaux résultats de cette enquête :

Types de développements Python

Ici, l'enquête a révélé que Python est plus utilisé pour la data science que pour le développement Web. Elle en effet a montré que pour 28 % des membres de la communauté, Python est principalement utilisé pour la data science (17 % pour l'analyse des données et 11 % pour le machine learning), alors que 27 % des répondants l'utilisent principalement pour le développement Web.

Mais en 2018, Python était également utilisé principalement :
  • par 11 % des membres de la communauté pour le DevOps, l'administration systèmes et l'écriture de script d'automatisation ;
  • par 7 % des membres de la communauté à des fins éducatives ;
  • par 4 % des membres de la communauté pour le développement d'applications de bureau ;
  • par 4 % des membres de la communauté pour le prototypage de logiciels ;
  • par 4 % des membres de la communauté pour la programmation de crawlers, scrapers et parsers Web (4 %) ;
  • etc.


Adoption de Python 3

L'enquête révèle ici que 84 % des membres de la communauté Python utilisent la version 3.x principalement contre 16 % pour Python 2.x. C’est un énorme bond de la popularité de Python 3, quand on sait que l'année précédente, seuls 75 % des membres de la communauté utilisaient Python 3.x comme interpréteur principal. L’utilisation de Python 2 a donc connu une baisse assez rapide en un an, ce qui s'explique par le fait que cette version n’est plus développée activement, elle n’a pas de nouvelles fonctionnalités et sa maintenance va être arrêtée en 2020.

Un autre résultat mis en avant dans le rapport de l'enquête est que seulement 82 % des personnes travaillant principalement dans le développement Web utilisent Python 3, alors que pour ceux qui travaillent principalement dans la science des données, ce taux va jusqu'à 90 %. Une explication possible est que certains développeurs Web ont encore beaucoup de code legacy à gérer lors de la transition vers Python 3. Pendant ce temps, de nombreux analystes de données et spécialistes en apprentissage automatique n'ont rejoint que récemment l’écosystème Python et se sont donc lancés directement dans la dernière version de Python.

Frameworks Web Python les plus populaires

De manière surprenante, comparativement à l’année 2017, l’utilisation de Flask a augmenté de 15 points de pourcentage parmi les répondants à l'enquête de 2018 et, de ce fait, Flask est devenu cette année le framework Web le plus populaire (question à choix multiples). Django a été sélectionné par 45 % des répondants (41 % en 2017).


Les outils de développement les plus utilisés dans le monde Python

Pour en venir aux outils de développement les plus utilisés dans le monde Python, on peut distinguer plusieurs catégories, notamment : les systèmes d'exploitation, les frameworks de test, les bases de données, les ORM, les systèmes d'intégration continue, les éditeurs et environnements de développement intégré (EDI), etc.

En ce qui concerne les systèmes d'exploitation, l'enquête révèle que plus des deux tiers des personnes interrogées (69 %) utilisent Linux comme OS pour leurs développements, pendant que seulement 47 % utilisent Windows et 32 % macOS. Toutefois, l'enquête ne permet pas de tirer de conclusion sur les OS préférés par les utilisateurs. Par exemple, pour les 69 % qui utilisent Linux, elle ne dit pas la proportion qui l’utilise en tant que système d'exploitation principal.


Parmi les frameworks de tests unitaires, les plus populaires dans la communauté sont pytest suivi par unittest. Les autres frameworks de tests unitaires sont beaucoup moins populaires. Il est aussi assez surprenant que 35 % des utilisateurs de Python n’utilisent aucun framework de test et ne testent donc probablement pas leur code.


Quand on arrive aux bases de données, ce sont sans surprise les solutions libres ou open source qui sont les plus utilisées, avec notamment PostgreSQL (44 %), MySQL (41 %) et SQLite (41 %) qui se démarquent complètement. Les bases de données non relationnelles telles que MongoDB (20 %) et Redis (19 %) sont également très populaires étant donné le grand nombre d'utilisateurs de Python qui font de l'apprentissage automatique ou de l'ingénierie de données.


Au niveau des ORM, les deux plus populaires dans la communauté Python sont SQLAlchemy et Django ORM. Pour information, un ORM (ou mapping objet-relationnel) est un type de programme informatique qui se place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet. Ce programme définit des correspondances entre les schémas de la base de données et les classes du programme applicatif. On pourrait le voir « comme une couche d'abstraction entre le monde objet et monde relationnel ». Du fait de sa fonction, on retrouve ce type de programme dans un grand nombre de frameworks sous la forme de composant ORM qui a été soit développé, soit intégré depuis une solution externe.

Pour revenir aux résultats de l'enquête, remarquons aussi que la popularité de SQLAlchemy et Django ORM reflète la popularité des frameworks de développement Web Flask et Django dans le monde Python.


Qu'en est-il maintenant des systèmes d'intégration continue (CI) ? Ici, l'enquête révèle qu'environ la moitié des utilisateurs de Python n’utilisent aucune solution d'intégration continue. Parmi ceux qui en utilisent, les trois solutions de CI les plus populaires dans le monde Python sont Jenkins, Gitlab CI et Travis.


Dans leur enquête, la Python Software Foundation et JetBrains se sont également intéressés aux éditeurs et EDI les plus populaires dans la communauté Python, plus précisément ceux que les membres utilisent principalement (donc un seul choix possible). Ici, sans surprise, PyCharm s'est imposé comme l'outil le plus populaire pour le développement Python avec une part combinée de 35 % pour les éditions PyCharm Professional et Community.

Un fait intéressant est que Visual Studio Code de Microsoft est passé de 7 % en 2017 à 16 % en 2018, devenant par la même occasion le deuxième éditeur le plus populaire pour le développement Python. Probablement en raison de la croissance rapide de Visual Studio Code, de nombreux autres éditeurs ont vu leur part d'utilisateurs diminuer.


L'enquête montre aussi que les développeurs Web ont des préférences légèrement différentes de celles des spécialistes des données : ils plébiscitent plutôt PyCharm, VS Code, Vim et Sublime Text, alors que de nombreux data scientists optent pour Jupyter Notebook comme principal outil

Source : Rapport complet de l'enquête

Et vous ?

Que pensez-vous de ces résultats ? Comment les interprétez-vous ?
Vous utilisez Python pour quel genre de projets et avec quels outils ?
Est-ce que vous êtes satisfait de Python ou pensez-vous passer à autre chose dans le futur ? à quoi ?

Voir aussi :

Python est plus utilisé pour la data science que pour le développement Web, d'après une enquête réalisée par la Python Software Foundation
Une première version alpha de Python 3.8 est publiée, voici un tour d'horizon des nouveautés de cette version
Kite, le moteur de complétion de code Python basé sur l'IA analyse maintenant le code en local, mais des développeurs ne sont toujours pas rassurés
Python est sacré langage de programmation de l'année 2018 par l'index TIOBE, deviendra-t-il le langage le plus utilisé des programmeurs ?
Windows 10 : Python 3.7 peut désormais être téléchargé sur Microsoft Store, Microsoft prévient que cette version est encore en cours d'évaluation

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 06/03/2019 à 0:03
Ce rapport est très intéressant

Je ne pensais pas que le développement web était encore l'utilisation numéro 1 pour Python, vu l’utilisation massive d'autres technologies pour le Web comme par exemple PHP, JavaScript et bien d'autres comme ASP.net et Java.
Après on pouvait deviner pour l'utilisation éducative étant donné les infos dans ce genre : Éducation : Python bientôt langage officiel de programmation en France ?
L'utilisation de Python pour le Deep learning et la Data Science était un fait connu mais c'est toujours intéressant d'avoir des chiffres concrets sous les yeux qui le confirme clairement.
Une autre surprise c'est la part importante de l’utilisation de Python pour le DevOps mais ça parait tout à fait logique.
Sinon on voie que Python pour développer des jeux c'est devenu totalement marginal, et nul pour ce qui est du développement mobile.

Pour les Frameworks Django reste à peu près stable par contre Flask est en croissance régulière.
Pour les bases de données PosgreSQL est devenu premier et a dépassé MySQL, belle progression.
Pour les EDI si on additionne les deux éditions de Pycharm on arrive à 35% ce qui est beaucoup, à noter aussi la forte progression de VS code, qui à un topic géant ici.
3  0 
Avatar de nhugodot
Membre régulier https://www.developpez.com
Le 08/03/2019 à 9:22
il serait temps que iOS et Android supportent Python: un débutant n'a pas envie d'apprendre Swift, kotlin, python et js pour faire web et mobile... ou alors vous me direz 'js seulement' avec node et réaction native, mais ce n'est pas ce qu'ils apprennent à l'école partout dans le monde: est-ce aux écoles et universités du monde entier de s'adapter à Google et Apple ou le contraire, enfin!??? :-((( Après tout on peut coder des apps windows et macOS en python, alors pourquoi pas sur les mobiles...
0  0 

 
Le neuvième week-end de programmation de jeux vidéo sur Developpez.com
Programmation : une étude révèle les langages les plus voraces en énergie, Perl, Python et Ruby en tête, C, Rust et C++, les langages les plus verts
Une plongée au coeur de Python - Chapitre 3. Les compréhensions de listes - de dictionnaires et de sets, un extrait du livre de Mark Pilgrim
Apprendre 23 principes pour écrire du code lisible, un tutoriel d'Artur Smiarowski
Contacter le responsable de la rubrique Python

Partenaire : Hébergement Web