Python mange le monde: comment un projet parallèle d’un développeur est devenu le langage de programmation le plus en vogue de la planète – Gratuit : Audit complet de votre site internet

Avant de commencer !

lenovo-cover-pdf.jpg
Share on facebook
Share on twitter
Share on pinterest

Frustré par les lacunes du langage de programmation, Guido van Rossum a créé Python. Avec le langage maintenant utilisé par des millions de personnes, Nick Heath parle à van Rossum du passé de Python et explore la prochaine étape.

Fin 1994, un groupe restreint de programmeurs de partout aux États-Unis se sont réunis pour discuter de leur nouvelle arme secrète.

Barry Varsovie était l’un des quelque 20 développeurs présents à ce tout premier atelier pour le langage de programmation Python nouvellement créé et rappelle l’excitation palpable parmi ces premiers utilisateurs.

« Je me souviens d’une personne en particulier qui a dit: » Vous ne pouvez dire à personne que je suis ici parce que notre utilisation de Python est un avantage concurrentiel.  » C’était leur arme secrète, non?  »

Même lors de cette première réunion, à l’époque au National Standards Bureau des États-Unis dans le Maryland, Varsovie a déclaré qu’il était évident que Python offrait quelque chose de nouveau dans la facilité d’écrire du code et de faire avancer les choses.

«Lorsque j’ai découvert Python pour la première fois, je savais qu’il y avait quelque chose de spécial. C’était une combinaison de lisibilité et il y avait du plaisir à écrire du code Python», se souvient-il.

Aujourd’hui, l’enthousiasme pour Python s’est propagé bien au-delà de ce cercle initial de développeurs, et certains prédisent qu’il deviendra bientôt le langage de programmation le plus populaire au monde, car il continue d’ajouter de nouveaux utilisateurs plus rapidement que tout autre langage. Des millions de personnes utilisent Python chaque jour, la croissance exponentielle des utilisateurs montrant peu de signes de ralentissement.

lenovo-cover-pdf.jpg

Python est utilisé pour les tâches grandes et petites par les développeurs professionnels et amateurs et est particulièrement populaire parmi les développeurs Web, les scientifiques des données et les administrateurs système. C’est Python qui, plus tôt cette année, a aidé à assembler les premières images d’un trou noir à environ 500 millions de milliards de kilomètres de distance, tout comme c’est Python qui alimente d’innombrables scripts piratés sur des ordinateurs de bureau dans le monde entier.

Python joue un rôle central dans certaines des organisations les plus connues au monde, aidant Netflix à diffuser des vidéos dans plus de 100 millions de foyers dans le monde, alimentant le phénomène de partage de photos Instagram et aidant la NASA dans l’exploration spatiale.

Python, les premières années

À certains égards, l’essor de Python est aussi surréaliste et surprenant que le groupe de comédie britannique dont il porte le nom, et dans son propre créneau, le langage de codage est devenu tout aussi célèbre et influent.

Le langage de programmation a été lancé en tant que projet parallèle par le programmeur néerlandais Guido van Rossum. À la fin des années 80, van Rossum travaillait sur un système distribué au Centrum Wiskunde & Informatica (CWI), le centre de recherche national néerlandais pour les mathématiques et l’informatique. Frustré par les insuffisances des langages de programmation existants, il a décidé d’en créer un nouveau – à la fois facile à utiliser et capable.

ddj-guido.jpg

Guido van Rossum en 2001, l’année de la création de la Python Software Foundation.

Image: Guido van Rossum

Pour un étranger, créer son propre langage de programmation peut sembler dire «je vais construire mon propre avion», mais van Rossum, alors dans la trentaine, avait une longueur d’avance. Il avait passé trois ans à travailler avec une équipe de CWI qui avait créé ABC, un langage de programmation interprété, donc il avait déjà un aperçu de ce qu’il faudrait pour construire un interprète qui exécute les instructions du programmeur, et les blocs de construction syntaxiques nécessaires pour un nouveau langage .

Il est également important de réaliser à quel point il était difficile de faire quoi que ce soit avec les langages de programmation limités disponibles à l’époque à van Rossum. Le système informatique distribué Amoeba sur lequel il travaillait l’obligeait à travailler en C ou en shell Unix, tous deux ayant des limites importantes. C obligeait non seulement les développeurs à lutter contre les complexités de la gestion manuelle de la mémoire et à naviguer dans un champ de mines d’erreurs potentielles, mais il manquait également une bibliothèque de code réutilisable pour les tâches quotidiennes des développeurs, obligeant les développeurs à réinventer la roue à chaque nouveau projet. Pendant ce temps, le shell Unix avait différents problèmes – il offrait une suite d’utilitaires pour les tâches courantes, mais fonctionnait si lentement qu’il ne pouvait pas gérer une logique complexe.

Les restrictions que ces langages imposaient aux développeurs étaient telles que, pour van Rossum, créer son propre langage interprété – celui qui emprunterait les meilleures fonctionnalités du langage ABC – semblait vraiment être la meilleure option.

Je ne sais pas à quel point j’étais sérieux à croire que cela me rendrait vraiment plus productif. Je pense que, en partie, j’ai vraiment apprécié l’idée de démarrer un grand projet par moi-même, de définir le code que je voulais mettre en page et de le concevoir comme je le voulais. La programmation est amusante pour moi.

Guido van Rossum, créateur de Python

« Je pensais essentiellement » Eh bien, pourquoi je ne crée pas mon propre langage « , en volant mes idées à ABC mais en réduisant la taille du projet de quelque chose qui a pris trois ans à terminer à quelque chose que je peux faire par moi-même, comme un projet de travaux de mouffette en trois mois, et donc Python est né « , dit-il.

Van Rossum a commencé à travailler sérieusement à la fin de 1989, empruntant le nom à sa troupe de comédie préférée Monty Python’s Flying Circus – l’association avec les serpents et le logo Pythons entrelacé est venue plus tard – et travaillant sur le projet quand il le pouvait.

« Je n’avais pas une vie sociale très riche à l’époque. Donc, au lieu de simplement regarder la télévision, je coderais ou ferais parfois les deux en même temps », admet-il.

Alors que Python a été nominalement créé pour l’aider au travail, van Rossum voit que l’élan a peut-être été plus le défi de créer un langage qui lui est propre.

«Je ne sais pas à quel point j’étais sérieux en pensant que cela me rendrait vraiment plus productif. Je pense que, en partie, j’ai vraiment apprécié l’idée de démarrer un grand projet par moi-même, de définir le code que je voulais disposer et concevoir comme je le voulais. La programmation est amusante pour moi « , dit-il.

Aussi inhabituel que cela puisse paraître pour un individu de créer son propre langage de programmation, van Rossum était en bonne compagnie. À la fin des années 1980, plusieurs langages majeurs sont nés de frustrations individuelles avec les outils disponibles pour les développeurs à l’époque. Larry Wall a déclaré qu’il était motivé à créer Perl par la difficulté de résoudre un problème lors du codage, ainsi que par une abondance de «  paresse, d’impatience et d’orgueil  ». De même, la recherche de John Ousterhout d’un meilleur langage pour créer des outils interactifs pour la construction de circuits intégrés l’a amené à concevoir Tcl.

En seulement trois mois, van Rossum avait créé un prototype fonctionnel pour Python en tant que langage interprété, un qui, selon lui, manquait de fonctionnalités modernes mais serait toujours reconnaissable comme le langage utilisé aujourd’hui.

« De nos jours, Python a beaucoup d’abstractions importantes qui n’étaient pas présentes à l’époque, mais le langage était très similaire », dit-il.

VOIR: Plus de couverture Python à lire absolument (TechRepublic sur Flipboard)

« À ce moment-là, j’avais tous les composants de base de l’interpréteur et du langage fonctionnant. Les programmes Python simples du premier interprète Python fonctionnant fonctionneront probablement encore aujourd’hui », dit-il, ajoutant que les fonctions étaient définies de la même manière, l’indentation fonctionnait de la même façon. , les dictionnaires et les tuples ont été créés en utilisant une syntaxe identique, et il y avait l’invite interactive familière où vous pouviez taper Python pour effectuer immédiatement des calculs.

lenovo-play.jpg

Karen Roby interviewe Nick Heath à propos de sa couverture sur l’évolution du langage de programmation Python.

Cependant, alors que ses deux collègues ont pris le langage et ont immédiatement commencé à l’utiliser, van Rossum n’avait pas d’énormes attentes pour son adoption plus large, ayant déjà éprouvé combien il était difficile de faire décoller un langage de programmation à l’ère pré-Internet. .

Alors que le partage de logiciels avec le monde d’aujourd’hui ne prend que quelques clics, dans les années 1980, c’était une affaire tout à fait plus laborieuse, van Rossum rappelant les difficultés à essayer de distribuer le précurseur Python ABC.

« Je me souviens vers 1985, lors d’un voyage de vacances aux États-Unis, ma première visite aux États-Unis, avec une bande magnétique dans mes bagages », explique van Rossum.

Armé des adresses et des numéros de téléphone des personnes qui avaient signalé un intérêt pour ABC via le système de messagerie rudimentaire disponible à l’époque – qui n’était pas adapté pour gérer quoi que ce soit d’aussi grand que le code source – il a voyagé de porte à porte en affichant le bandes. Malgré cet effort, ABC n’a pas vraiment décollé.

« Donc, pas étonnant que nous ne soyons pas allés très loin avec la distribution d’ABC, malgré toutes ses merveilleuses propriétés », dit-il. Mais alors que la révolution Internet s’accélérait, il serait beaucoup plus facile de distribuer Python sans une valise pleine de bandes.

Van Rossum a publié Python dans le monde via le groupe de discussion alt.sources en 1991, sous ce qui était à peu près une licence open source, six ans avant que le terme ne soit inventé pour la première fois. Alors que l’interpréteur Python devait encore être réuni dans un fichier compressé à partir de 21 parties distinctes et téléchargé du jour au lendemain sur le réseau Usenet, c’était toujours un mécanisme de livraison beaucoup plus efficace que les livraisons en mains propres de quelques années plus tôt.

Téléchargez cet article au format PDF (inscription gratuite requise).

« J’espérais qu’il y aurait une sorte de succès, mais j’avais fait au moins une autre chose que j’avais libérée et qui avait fini par être un flop », dit-il.

Avec son expérience passée à l’esprit, van Rossum dit qu’il a fallu beaucoup de temps avant de lire quoi que ce soit dans la base d’utilisateurs croissante de Python. Peu à peu, il a réalisé que l’élan se renforçait et après un certain temps à interagir régulièrement avec la communauté Python, il s’est rendu compte qu’il avait créé quelque chose qui pouvait réussir.

« Je pense que cette réalisation est arrivée très, très lentement. Après avoir fait la première version open source, j’ai construit un rythme de création de nouvelles versions et d’interaction avec la communauté Python naissante qui a vu le jour. Cela semblait être un gros problème. »

Pourquoi Python a gagné

C’est ce sentiment que Python était une langue dont le moment était venu qui a également frappé van Rossum, car la langue a commencé à gagner du terrain du début au milieu des années 1990.

Van Rossum pense que les développeurs ont été attirés par Python par le même sentiment qui l’a amené à le créer en premier lieu. Ils voulaient un langage de script de haut niveau qui a trouvé un équilibre entre être facile à utiliser et capable qui n’avait pas les limites du shell Unix lors de la manipulation de la logique complexe. Ils voulaient mettre fin à l’insistance de C sur les développeurs aux prises avec la gestion de la mémoire et devant réimplémenter le code pour les mêmes tâches de base au début de chaque projet.

Varsovie affirme que Python a trouvé un équilibre entre l’utilisabilité tout en ne sacrifiant pas ce qu’il pouvait faire – un équilibre qui n’était pas vraiment proposé dans aucun langage de programmation majeur au début des années 1990. « J’avais fait beaucoup de code Perl et Tcl et C, et j’avais l’impression que ce n’était pas vraiment amusant. Python est venu sur la scène, je me suis dit: » Wow, ça rend la programmation encore plus amusante «  », dit.

Ce que Python a offert, et offre toujours, est une syntaxe claire et sans ambiguïté, où les indentations regroupent le code en blocs, ce qui rend le code plus facile à comprendre pour les développeurs.

VOIR: 10 façons d’empêcher l’épuisement professionnel des développeurs (PDF gratuit) (TechRepublic)

Fintan Ryan, directeur de recherche au sein de l’équipe Application Platform Strategies du cabinet d’analystes Gartner, affirme que la clarté a joué un grand rôle dans la conquête des développeurs, à la fois maintenant et dans les années 1990, même si l’attribution d’une telle importance à l’indentation s’est révélée source de division. « Il offrait une syntaxe très propre. Vous pouvez l’imposer dans d’autres langages, mais Python l’appliquait automatiquement. Certains programmeurs adorent cela, et certains le détestent », dit-il.

barry-warsaw.jpg

Barry Varsovie au premier atelier Python en 1994.

Image: Barry Varsovie

Le fait que Python donne la priorité au code propre et lisible n’est pas un hasard, van Rossum a déclaré que les langages de programmation étaient autant une question de communication d’idées entre développeurs que de dire à un ordinateur quoi faire.

En plus de cette lisibilité, Ryan dit que très tôt Python a offert un niveau de fonctionnalité intégrée qui le démarquait des autres langages. « Vous disposiez également de fonctionnalités telles que les classes et la gestion des exceptions dès le départ. Python a également pris en charge des fonctions telles que lambda, map et filter, qui se sont révélées extrêmement utiles dans de nombreux cas », dit-il.

Python n’aurait peut-être jamais existé du tout si les langages de programmation populaires à la fin des années 80 avaient été meilleurs, l’une des motivations de van Rossum pour créer Python étant l’incompatibilité du langage de script Perl avec le système informatique distribué Amoeba sur lequel il travaillait au CWI. « La chance pour Python est que Perl n’était pas transférable à Amoeba », dit-il. « S’il avait été possible de porter Perl vers Amoeba, je n’aurais jamais pensé à commencer ma propre langue. »

Même si Python a attiré une base d’utilisateurs de fans purs et durs après sa sortie, dans les années 1990, Python était encore un outsider du langage de programmation. Van Rossum dit que les concurrents du langage étaient Tcl / Tk et Perl, qui partageaient tous deux l’objectif de Python d’être simple à utiliser et relativement capable.

« Dans les années 90, les trois principales langues, certainement Perl était numéro un – le gorille de 800 livres – Tcl / Tk était numéro deux, et Python était un numéro trois très modeste », dit-il.

Téléchargez cet article au format PDF (inscription gratuite requise).

Aujourd’hui, Python est le langage de programmation à la croissance la plus rapide en termes de développeurs actifs, selon l’enquête annuelle Stack Overflow Developer Survey, l’un des instantanés les plus complets de l’utilisation du langage de programmation disponible, tandis que Perl a rétréci au point où il n’a pas obtenu de mention dans le dernier rapport Stack Overflow.

Cette croissance explosive est capturée par le graphique ci-dessous, montrant comment ces dernières années, les vues des questions liées à Python sur Stack Overflow ont augmenté beaucoup plus rapidement que les vues des questions liées à d’autres langues.

croissance-major-langages-de-programmation-stack-overflow.jpg

La croissance des vues des questions Python sur Stack Overflow par rapport aux autres langages de programmation reflète la croissance énorme des utilisateurs Python.

Image: Débordement de pile

Alors, comment Python a-t-il dépassé son ancien rival et comment expliquer les fortunes très différentes des deux langues? Van Rossum pense que cela a quelque chose à voir avec la facilité avec laquelle il est possible de maintenir une base de code une fois qu’elle a dépassé une certaine taille. « L’expérience des gens était que pour un script de 10 lignes, Perl est parfait », dit-il. « Mais si vous avez 500 lignes de code principal et quelques milliers de lignes de bibliothèque, cela nécessite une énorme quantité de discipline pour rendre ce code maintenable en Perl. En Python, même si vous n’avez pas beaucoup de discipline, le le code sera toujours assez lisible et assez maintenable.  »

Cette combinaison de Python offrant un langage de programmation simple à démarrer mais qui est également suffisamment robuste pour être utilisé pour écrire de grandes applications est ce que van Rossum attribue à son succès initial dans les années 1990.

« Il y avait des développeurs Internet – dont beaucoup étaient des premiers travaux sur Internet – qui voulaient écrire des applications de plus en plus grandes et qui appréciaient qu’il fallait beaucoup moins d’efforts pour écrire une application en Python que pour l’écrire en C, C ++, ou Java d’ailleurs.  »

Alors que l’utilisation de Python se répandait dans les années 1990, van Rossum, toujours au CWI, a constaté que sa création le mettait de plus en plus en contact avec des personnes du monde entier.

« J’avais créé quelque chose, et c’était en contact avec des gens partout dans le monde – des gens en Australie, des États-Unis, des gens d’autres pays européens. J’avais le temps de ma vie », dit-il.

VOIR: Langages de programmation: Python devrait dépasser C et Java au cours des 4 prochaines années (ZDNet)

Python et le web

Au milieu des années 1990, Python commençait à être utilisé de nouvelles façons, des scripts pour l’enregistrement et la lecture audio à sa première incursion dans le développement Web, qui allait devenir un pilier pour Python.

«L’une des grandes choses était le développement Web, ce qui était également très intéressant pour moi», explique van Rossum, qui dit que Python a commencé à être utilisé pour les scripts backend sur les serveurs Web aux côtés des scripts Perl et Shell. « Vous pouvez créer des pages Web dynamiques et c’est devenu l’une de mes applications Python préférées. »

Il offrait une syntaxe très propre. Vous pouvez appliquer cela dans d’autres langues, mais Python l’a appliqué automatiquement. Certains programmeurs adorent cela, et certains le détestent.

Fintan Ryan, directeur de recherche Gartner

Ryan de Gartner dit que ce qui a scellé la popularité de Python parmi les développeurs au cours des années 1990, c’est comment il est devenu un choix préféré pour créer rapidement des scripts puissants. « Le fait d’être un langage de script avec des fonctionnalités très solides a abaissé les barrières à l’entrée pour de nombreux utilisateurs », dit-il.

Plus que cela, cependant, Ryan dit que la langue était suffisamment polyvalente et si facile à comprendre qu’elle faisait appel à de nombreux types d’utilisateurs différents avec une gamme d’expertise technique. «Sysadmins et d’autres ont pris le langage de l’automatisation et de la programmation des systèmes, les développeurs pour des fonctionnalités telles que la programmation fonctionnelle et la disponibilité de classes avec héritage – Perl par exemple était beaucoup moins présent à cet égard», dit-il. « Une fois que les gens se sont familiarisés avec la langue et que sa courbe de démarrage est assez basse, ils sont devenus extrêmement productifs très rapidement. »

Téléchargez cet article au format PDF (inscription gratuite requise).

En 1994, Python avait attiré l’attention de Michael McLay, qui occupait un poste de direction au National Bureau of Standards (NBS) des États-Unis, désormais l’Institut national américain des normes et de la technologie (NIST). Préfigurant la façon dont Python serait favorisé par les chercheurs et les scientifiques pour sa facilité d’utilisation, McLay était intéressé par la façon dont Python pourrait être utilisé par les scientifiques de la NBS qui, selon van Rossum, «avait une quantité considérable de données à traiter mais n’était pas très bons codeurs « .

Pour aider à vendre Python à d’autres membres du bureau, McLay a invité van Rossum, qui travaillait encore au CWI aux Pays-Bas à l’époque, à passer deux mois au NIST en tant que chercheur invité. Ce placement s’avérerait être le catalyseur à la fois de l’évolution future de Python et d’un changement majeur dans la vie de van Rossum.

pythonworkshop.jpg

van Rossum est photographié lors du premier atelier Python en discussion avec Varsovie et Roger Masse, qui travaillait à l’époque avec Varsovie au CNRI.

Crédit: Barry Varsovie

C’est lors de ce stage que le tout premier atelier Python aurait lieu dans les bureaux de la NBS, où van Rossum, Barry Varsovie et d’autres passionnés de Python se sont réunis pour discuter de ce qu’ils faisaient avec Python et espérer le développement futur du langage.

Au bureau du NBS, van Rossum a rencontré Bob Kahn, réputé pour son rôle dans le développement d’une des technologies fondamentales d’Internet: le protocole TCP / IP.

Cette réunion a abouti à une offre d’emploi pour venir travailler avec Kahn à la Corporation for National Research Initiatives (CNRI), un groupe de recherche à but non lucratif basé en Virginie qui se concentre sur le développement stratégique des technologies de réseau.

Tout comme Python avait répondu au besoin d’un nouveau type de langage de programmation, van Rossum dit que l’offre d’emploi est arrivée exactement au moment où il commençait à remettre en question son avenir chez CWI.

« CWI étant plus un établissement universitaire, ils m’ont exercé une légère pression pour obtenir un doctorat ou faire face à la perspective de devoir trouver un emploi ailleurs », dit-il.

VOIR: Apprendre Python: les meilleurs livres, tutoriels et vidéos gratuits (TechRepublic)

« La perspective de devoir passer à un doctorat à mon âge, j’avais environ 35 ans, ne m’a pas vraiment attiré. Plus tôt, également, grâce à Python, d’autres perspectives étaient venues à ma rencontre où, après un tas d’appels téléphoniques et de réflexion, j’avais décidé de ne pas y aller. Mais ici, j’aimais les gens, j’aimais ce qu’ils m’offraient, le projet, et j’y suis allé.  »

C’est au CNRI que van Rossum a mis en place de nombreuses structures de gestion du langage Python, avec l’aide d’une équipe de passionnés de Python. Après avoir rejoint le CNRI en avril 1995, van Rossum a dirigé une petite équipe de développeurs travaillant à la création de programmes Knowbot, des logiciels appelés agents mobiles conçus pour être exécutés sur des systèmes informatiques distribués comme Internet.

L’équipe a travaillé à Python, et van Rossum a été rejoint par Jeremy Hylton, Roger Masse, Barry Varsovie, Ken Manheimer et Fred Drake, qui continueront à jouer un rôle important dans la communauté Python.

Python est arrivé sur la scène, je me disais: « Wow, ça rend la programmation encore plus amusante ».

Barry Varsovie, développeur Python de longue date et membre du Python Steering Council

«Nous nous sommes retrouvés avec un groupe de quatre à dix personnes, dont la plupart travaillaient au CNRI, qui étaient au cœur du développement de Python», explique van Rossum.

Pendant que van Rossum était au CNRI, cette équipe l’a aidé à créer le site Web python.org, le serveur CVS pour gérer les modifications de la base de code principale et les listes de diffusion pour les groupes d’intérêt spécial Python, qui travaillent à améliorer et à maintenir le langage Python.

Téléchargez cet article au format PDF (inscription gratuite requise).

La communauté des utilisateurs de Python s’était considérablement développée depuis sa sortie publique en 1991 et, dans la seconde moitié de la décennie, la langue attirait une base d’utilisateurs mondiale importante. Au cours de cette période, la gestion du langage a commencé à être officialisée, avec la mise en place du précurseur de la Python Software Foundation (PSF), qui serait créée en 2001. Au fur et à mesure de la croissance de la communauté, les ateliers semestriels Python qui ont commencé en 1994 transformé en événements annuels plus importants, et finalement PyCon annuel de PSF, qui est toujours aussi fort aujourd’hui.

Au tournant du 21e siècle, la langue était plus grande que n’importe quelle personne, avec une communauté importante jouant un rôle actif dans son développement, loin de l’été 1994, lorsque les premiers utilisateurs de Python s’inquiétaient de ce qui arriverait à la langue. «si Guido a été renversé par un bus».

Van Rossum a continué à jouer un rôle central, cependant, et l’idée qu’il soit au cœur de la langue n’a jamais disparu, comme en témoigne son surnom de « dictateur bienveillant pour la vie » (BDFL) de la langue, une langue de langue -titre qui a collé pendant des années.

«Pour la plupart, pendant très longtemps, j’ai pu assez bien absorber la pression, et j’ai aussi généralement développé des compétences en gestion de projet qui m’ont permis de déléguer beaucoup de choses et de laisser les gens contrôler leur propre destin. dit van Rossum.

Ryan de Gartner dit qu’il n’est pas particulièrement inhabituel pour le créateur d’une langue d’agir en tant que responsable de cette langue, citant Larry Wall avec Perl et Ryan Dahl avec le JavaScript runtime Node.js, mais dit que van Rossum est reconnu pour être impartial dans sa gestion de Python .

«Il est largement reconnu comme étant très équilibré quant à l’orientation du projet et dans sa gestion globale», dit-il.

En effet, c’est la nature ouverte du développement de Python, via un débat public entre une communauté de développeurs principaux, que van Rossum attribue à être un facteur décisif dans le succès de Python.

VOIR: Comment lancer une carrière de développeur réussie (TechRepublic Premium)

L’évolution de Python

Dans les années qui ont suivi, il y a eu des avancées majeures en Python, l’introduction de Python 3.0 en 2008 a modernisé le langage, et plus récemment il y a eu des changements importants dans la façon dont le langage est géré.

Ce n’était pas exactement une révolte, mais je sentais que je n’avais pas la confiance suffisante de la communauté des développeurs de base pour continuer.

Guido van Rossum, créateur de Python

Ces changements ont été déclenchés l’année dernière, lorsque van Rossum a démissionné de son rôle de leadership en tant que BDFL, à la suite d’un désaccord public sur l’introduction d’expressions d’affectation dans la langue, évoquée dans la proposition d’amélioration Python PEP572.

Bien que leur introduction ait été conçue pour permettre d’écrire du code plus efficace, van Rossum a fait l’objet de critiques sévères en ligne de la part de ceux qui s’opposaient au changement, certains affirmant que leur utilisation rendrait le code moins lisible et plus difficile à maintenir.

Van Rossum dit qu’il était habitué à débattre de nouvelles fonctionnalités, mais c’est l’intransigeance de certains de ses détracteurs et aussi la nature personnelle de certaines attaques qui ont décidé de se retirer.

« J’ai été très déçu de la façon dont les personnes en désaccord sur le plan technique se sont rendues sur les réseaux sociaux et ont commencé à se plaindre que le processus de décision était interrompu ou que je faisais une grave erreur. Je me suis senti attaqué derrière mon dos », dit-il.

VOIR: Python vs R et les plus gros salaires: les principales tendances de l’emploi en science des données (ZDNet)

« Dans le passé, il avait toujours été clair que s’il y avait une décision à prendre concernant un changement de langue ou une fonctionnalité améliorée, tout un tas de développeurs principaux discuteraient des avantages et des inconvénients de la chose. Soit un consensus clair apparaîtrait ou, si ce n’était pas si clair, je réfléchissais dans ma tête et décidais d’une manière ou d’une autre. Avec PEP572, même si c’était clairement controversé, j’ai choisi « Oui, je veux faire ça », et les gens n’a pas accepté d’être en désaccord.

« Ce n’était pas exactement une révolte, mais je sentais que je n’avais pas la confiance suffisante de la communauté des développeurs de base pour continuer. »

Il pense que le changement dans la façon dont les conflits sur le langage se déroulent est en partie le résultat du nombre de personnes qui utilisent Python aujourd’hui.

« C’est probablement aussi le fait que la communauté Python est tellement plus grande. Il est plus difficile de parvenir à une quelconque forme de consensus, bien sûr, car il y a toujours des dissidents marginaux, quelle que soit la manière dont vous décidez. »

wijaya-2.jpg

Le développeur principal de Python, Mariatta Wijaya, a salué l’élection d’un conseil de direction de Python pour superviser le développement du langage.

Image: A. Jesse Jiryu Davis

Plus tôt cette année, les développeurs principaux de Python – ceux qui travaillent à la maintenance et à la mise à jour de l’interpréteur CPython de référence de Python – ont élu un conseil de direction pour superviser l’avenir du langage. Van Rossum a été élu, aux côtés de Varsovie et de ses collègues développeurs principaux, Brett Cannon, Carol Willing et Nick Coghlan.

Varsovie affirme que le changement est nécessaire pour gérer une langue dont la base d’utilisateurs augmente à un rythme aussi rapide.

« Je pense que Guido avait vraiment l’impression que le monde était sur ses épaules et ses épaules seules », dit-il.

« Cela aurait pu être bien il y a 25 ans, quand Python était une communauté beaucoup plus petite et un langage plus petit, mais c’est vraiment trop de mettre une seule personne, vous savez? Je pense juste pour sa propre santé personnelle et son implication dans la communauté. , c’est formidable de pouvoir répartir cette charge entre cinq personnes », déclare Varsovie.

Téléchargez cet article au format PDF (inscription gratuite requise).

De nouvelles élections au conseil de direction auront lieu après chaque nouvelle version de Python, qui, selon Varsovie, ouvrira la voie à la prochaine génération de dirigeants pour la langue à mettre en place.

« Si Python va être en bonne santé dans 25 ans, ce ne sera pas Guido et moi qui dirigerons les choses, tu sais? » il dit.

La mise en place du conseil de pilotage a également été saluée par la communauté des développeurs principaux de Python, le développeur principal Mariatta Wijaya affirmant que cette décision semblait être un pas dans la bonne direction. « Pour moi, le conseil de direction est mieux que d’avoir une personne qui décide de tout – c’est trop lourd de responsabilité et de fardeau », dit-elle. « C’est un bon signe, et cela fait que la communauté aura plus de commentaires. »

L’avenir de Python

Alors que Python continue d’attirer de nouveaux utilisateurs à un rythme prodigieux, certains membres de la communauté voient les défis à venir, un besoin pour Python d’évoluer pour rester pertinent.

Au sommet du langage Python de cette année, le co-fondateur de BeeWare, Russell Keith-Magee, a averti que Python fait face à un « risque existentiel » si la prise en charge des mobiles et des nouvelles plateformes Web ne s’améliore pas.

« Les téléphones et les tablettes parviennent à pénétrer le marché que les ordinateurs de bureau et les ordinateurs portables n’ont jamais vus, et pourtant, en tant que communauté, nous n’avons pas d’histoire sur la façon dont vous pouvez utiliser Python sur ces appareils », a-t-il déclaré, faisant référence à l’utilisation de son fils d’un iPad sur son école. « Alors, qu’arrive-t-il à Python lorsque les ordinateurs portables sont des appareils de niche? » Il a demandé.

Keith-Magee, dont le projet BeeWare vise à permettre d’écrire une application Python et de la faire fonctionner n’importe où, a résolu une liste de problèmes que Python a actuellement avec les plates-formes de support autres que les PC x86 standard.

Je voudrais voir une meilleure représentation à travers toutes les métriques diverses, non seulement en termes d’équilibre entre les sexes, mais aussi de race et tout le reste.

Mariatta Wijaya, développeur principal de Python

Il a cité la nécessité d’une meilleure prise en charge de la compilation de code pour les plates-formes matérielles plus récentes, non x86; que la suite de tests de Python est susceptible de se bloquer sur les plates-formes mobiles et Web; la taille d’installation des applications Python est gonflée et ne peut pas être réduite à un petit sous-ensemble de dépendances; l’effort nécessaire pour faire fonctionner la bibliothèque asyncio lors de l’écriture de code GUI sur Android, Windows et le Web; et le nombre de modules de la bibliothèque standard qui sont incompatibles avec les interpréteurs Python autres que CPython.

Varsovie dit que Keith-Magee fait de nombreux bons points et estime qu’il est important de considérer comment Python reste pertinent pour les nouvelles plates-formes – pour les téléphones, les tablettes et les nouvelles technologies Web telles que WebAssembly.

« Python, en ce moment, n’a pas une grande histoire là-bas », dit Varsovie, parlant d’une ambition de pouvoir télécharger une application pour un iPhone ou un téléphone Android et « ne jamais même savoir qu’elle a été écrite en Python ».

VOIR: Guide de démarrage Python: entretien avec le créateur Guido van Rossum, outils préférés des développeurs, cas d’utilisation (TechRepublic)

Avec le nombre de cœurs de processeur dans les puces modernes qui continue de grimper (jusqu’à 48 cœurs dans les dernières offres de serveurs d’Intel), Varsovie souhaite également que Python améliore la répartition des tâches sur plusieurs cœurs.

Il est enthousiasmé par le potentiel du travail effectué par Eric Snow sur les sous-interprètes et comment cela pourrait étendre la capacité de Python à exécuter du code simultanément. « Ce que j’aimerais vraiment, c’est plus de travail pour pouvoir tirer parti de plusieurs cœurs », dit-il.

Snow est engagé dans un projet à long terme visant à faciliter la répartition efficace des tâches entre plusieurs cœurs de processeur par Python, Snow se concentrant sur l’utilisation d’une version retravaillée de la fonction de sous-interpréteur existante de Python et sur la modification de la façon dont chaque sous-interprète interagit avec le le verrou d’interpréteur global de la langue (GIL).

« Il n’est pas tout à fait prêt pour Python 3.8, peut-être pour 3.9 », explique Varsovie. « Je pense que nous le verrons dans les deux prochaines années à deux ans et demi. Je suis assez optimiste. Je suis vraiment heureux qu’Eric continue de travailler là-dessus, parce que je pense que c’est un travail important.  »

Même les projets ayant échoué pour obtenir des applications Python multithread s’exécutant sur plusieurs cœurs, tels que The Gilectomy, donnent des leçons intéressantes sur la façon dont Python peut améliorer la répartition des charges de travail entre les cœurs, dit-il.

La communauté Python prend également des mesures pour moderniser la bibliothèque standard de langage du code intégré, en publiant récemment une proposition d’élagage des modules obsolètes de la bibliothèque; ce faisant, il répond à certaines critiques récentes concernant l’état de la bibliothèque standard de Python. La bibliothèque est généralement considérée comme l’un des points forts de Python, car elle peut être utilisée pour effectuer un large éventail de tâches courantes, c’est pourquoi Python est décrit comme ayant des «  piles incluses  ». However, a talk at this year’s Python Language Summit asked whether Python would be better served by letting people choose code libraries from the PyPI repository, rather than having functionality bundled with the language as the standard library.

Download this article as a PDF (free registration required).

There are also questions over whether the makeup of bodies overseeing the development of the language — Python core developers and the Python Steering Council — could better reflect the diverse user base of Python users in 2019.

« I would like to see better representation across all the diverse metrics, not just in terms of gender balance, but also race and everything else, » says Wijaya.

« At PyCon I spoke to PyLadies members from India and Africa. They commented that, ‘When we hear about Python or PyLadies, we think about people in North America or Canada, where in reality there are big user bases in other parts of the world. Why aren’t we seeing more of them?’ I think it makes so much sense. So I definitely would like to see that happening, and I think we all need to do our part. »

Ultimately, in spite of the tongue-in-cheek notion of a ‘benevolent dictator’ running everything, the ideas that have shaped Python in recent years have sprung up from the community, says Warsaw, from people pushing what’s possible using Python by opening the door to new uses.

« It’s really bubbling up much more from the community than being a top down kind of thing, » he says.

blackhole.jpg

Earlier this year, Python helped stitch together the first images of a black hole, some 500 million trillion km away.

Credit: Event Horizon Telescope collaboration et al.

An example of how simple community projects can have an outsized impact on Python are Type Hints, a Python 3.5 feature that was inspired by the mypy project launched by a PhD student back in 2012. These hints allow for optional type checking, allowing developers to spot a class of bugs that could otherwise slip through into software.

Having this extra layer of security is more than just a nice to have when you have multiple people working on large codebases. That extra level of insight into what the code should and shouldn’t be doing can make all the difference.

« For me, the fact that it allows Python to scale up to larger organizations — like an Instagram, which basically runs on Python 3 — is completely invaluable, » says Warsaw, who says asyncio is another example of community-derived idea that made a huge impact on what the language could do.

With the steering council in place and a larger base of users than ever before, van Rossum is optimistic that « the community-driven evolution of the language » will continue to be « incredibly successful ».

« There is a very solid core developer community that now has a new system of governance, and so I think we’re better prepared for whatever demands are being made of Python as a language to evolve, » he says, praising the deep understanding of specific aspects of Python that exists within the community.

If anyone has doubts about the Python community’s ability to continue to find surprising new uses for the language, you need to look no further than Python’s role in helping capture the first ever image of a black hole, says Warsaw.

« That just blew me away. There’s a couple of people in the Python community that I kind of look at as the mad scientists of Python. They’re always looking at, well, here’s what I can do today — how far can I push that? »

Download this article as a PDF (free registration required).

Photo credit for hero image: Dan Stroud under the Creative Commons licence

Inscris-toi à notre newsletter !

Partage cet article avec tes amis !

Share on facebook
Share on google
Share on twitter
Share on linkedin