Créé le 20 février 1991 par Guido van Rossum, Python vient de fêter ses 30 ans en affichant une belle popularité, quelques semaines après avoir été nommé langage de programmation de l’année 2020 par l’indice Tiobe. A l’occasion de cet anniversaire, la fondation Python Software qui fête de son côté ses 20 ans, en profite pour lancer une campagne de recrutement avec l’objectif d’inscrire 2000 nouveaux membres en 30 jours à compter du 1er mars, indique-t-elle dans un tweet. La PSF, qui organise la conférence PyCon et supporte 11 projets Python, vient de recevoir le soutien renouvelé de Google Cloud avec une dotation de 350 000 $.

Les objectifs qui ont présidé à la création de Python par Guido van Rossum (qui l’a nommé en s’inspirant d’une série de la BBC appelée Monty Python’s Flying Circus) était de créer un langage facile et intuitif aussi puissant que ses principaux concurrents, open source, avec du code compréhensible en anglais, qui puissent convenir pour des tâches de tous les jours, avec des temps de développement courts, rappelle Python Institute. A l’indice Tiobe de février 2021, il conserve sa 3ème place des langages les plus utilisés du moment, derrière C et Java.

Développement web, informatique scientifique, test logiciel

Python est utilisé dans de nombreux domaines d’applications et le référentiel Python Package Index (PyPi) liste des milliers de modules tiers pour Python. Pour le développement web, il fournit des frameworks comme Django et Pyramid, des micro-frameworks comme Flask et Bottle. Il est largement utilisé dans l’informatique scientifique - SciPy par exemple réunit des packages pour les maths, les sciences et l’ingénierie - et pour l’analyse et la modélisation de données, avec un outil comme Pandas, par exemple.

Dans l’éducation, le langage est utilisé pour apprendre à programmer. Il a servi à bâtir des systèmes ERP et e-commerce comme Odoo et Tryton. Il est largement mis à profit par les développeurs de logiciels pour gérer le contrôle et le test. Google Cloud indiquait pour sa part que Python servait d’environnement d’exécution à bon nombre de ses services hébergés sur la GCP, depuis App Engine jusqu’à Cloud Functions. En revanche, le langage est moins prisé pour le développement mobile.

Un projet toujours piloté par des bénévoles

Guido van Rossum a renoncé à son rôle de superviseur du langage en juillet 2018 (et à son surnom de dictateur bienveillant à vie) après un débat difficile sur l’ajout de l’opérateur Walrus (PEP 572) au langage, qui avait généré une certaine animosité. Le comité de pilotage de Python élu en octobre pour 2021 est composé de cinq personnes - Barry Warsaw, Brett Cannon, Carol Willing, Pablo Galindo Salgado et Thomas Wouters - chargés de superviser la gouvernance de la communauté et les changements introduits dans le langage. Interrogé par Venturebeat, Pablo Galindo Salgado, souligne le nombre important d’usages différents de Python qu’il est important de prendre en considération lorsqu’il faut faire évoluer le langage. Parmi les améliorations souhaitées, il aimerait que le langage devienne plus rapide.

De son côté, Brett Cannon, interrogé par The Register, a souligné les difficultés de gérer un projet de cette envergure toujours géré par des bénévoles, avec les oppositions habituelles pour toute décision à prendre. « C’est beaucoup à gérer à la fois du point de vue du temps et de l’émotion », confie-t-il. Bien que Python réunisse des sponsors, il ne dispose pas du soutien financier important dont d’autres langages ont hérité pour avoir été créé au sein d’une entreprise comme Java (créé par Sun racheté ensuite par Oracle). Brett Cannon rappelle qu’il faut aller chercher du financement pour tout et que la communauté manque de développeurs rémunérés pour aider à faire fonctionner les choses. Mais l’avantage d’être indépendant, c’est aussi de pouvoir rester axés sur les besoins des utilisateurs plutôt que sur ceux d’une entreprise en particulier.

Release candidate 3.9.2rc1 disponible

Depuis le 17 février, la release candidate de Python 3.9.2rc1 est disponible au test (de même que 3.8.8rc1). Python 3.9 utilise un nouveau parseur, basé sur PEG, dont les performances sont comparables au précédent basé sur LL(1) mais plus flexible lorsqu’il s’agit de concevoir de nouvelles fonctionnalités du langage. Autre apport de 3.9, le protocole d’appel Vectorcall (PEP 590) qui accélère un certain nombre de fonctions Python intégrées comme range, tuple, set, frozenset, list, dict. La dernière version de maintenance régulière complète de Python 3.8 est prévue pour le 3 mai 2021, à la suite de quoi elle passera uniquement aux corrections de bogues tandis que les versions de maintenance de la série 3.9 se poursuivront à intervalles réguliers.

En mai 2020, dans une enquête de Stackoverflow auprès de 65 000 développeurs, une question portait sur le prochain langage qu’ils aimeraient apprendre. Python arrivait largement en tête, cité par 30% des développeurs.