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