Déçu par les lacunes des langages de programmation existants, Guido Van Rossum a créé le langage Python. Maintenant, cette langue est utilisée par des millions de personnes, et Nick Heath parle avec van Rossum du passé et de l'avenir de la langue.
Guido Van Rossum au siège de Dropbox en 2014Fin 1994, un groupe de programmeurs sélectionnés de partout aux États-Unis se sont réunis pour discuter de leur nouvelle arme secrète.
Barry Worso était l'une des deux douzaines de développeurs qui se sont réunis pour le tout premier atelier sur le nouveau
langage de programmation
Python , et rappelle à quel point l'excitation joyeuse de ses premiers utilisateurs était évidente.
"Je me souviens surtout d'une personne qui a dit:" Ne dites à personne que je suis ici parce que le fait que nous utilisons du python est un avantage concurrentiel. " C'était leur arme secrète. »
Même lors de cette première réunion au Bureau américain des normes d'État dans le Maryland, comme le dit Warso, il était évident que python offrait quelque chose de nouveau en matière d'écriture de code facile et de résultats simples.
«Quand ils m'ont montré le python pour la première fois, je savais que c'était quelque chose de spécial. C'était une combinaison de lisibilité et de joie d'écrire du code en python », se souvient-il.
Aujourd'hui, l'enthousiasme pour le python s'est propagé bien au-delà des frontières de cette poignée de développeurs, et certains d'entre eux prédisent qu'il deviendra bientôt le langage le plus populaire au monde, car il gagne de nouveaux utilisateurs plus rapidement que n'importe quel autre langage. Des millions de personnes utilisent quotidiennement python, et la croissance exponentielle de ses utilisateurs ne montre aucun signe de ralentissement.
Python est utilisé pour les petites et grandes tâches par les développeurs professionnels et novices, et est particulièrement populaire parmi les développeurs Web, les experts en science des données et les administrateurs système. C'est avec l'aide de python cette année que les premières images d'un trou noir, situé à 500 millions de milliards de kilomètres de nous, ont été obtenues, ainsi que d'innombrables scripts écrits sur des ordinateurs de bureau partout dans le monde.
Python joue un rôle majeur dans certaines des organisations les plus célèbres du monde: il aide Netflix à envoyer des vidéos en streaming à plus de 100 millions de foyers à travers le monde, sous-tend le phénomène de partage de photos Instagram et aide la NASA à explorer l'espace.
Premières années de python
À certains égards, la popularité croissante du python est aussi surréaliste et surprenante que la popularité du groupe de comédie britannique en l'honneur duquel il a été nommé, et dans sa niche, le langage est devenu tout aussi célèbre et influent.
Ce langage de programmation est apparu comme un projet tiers d'un programmeur néerlandais,
Guido Van Rossum . À la fin des années 80, van Rossum a travaillé sur un système distribué au Centrum Wiskunde & Informatica (CWI), le Centre de recherche d'État néerlandais pour les mathématiques et l'informatique. Frustré par les lacunes des langages de programmation existants, il a décidé d'en créer un nouveau - un qui serait facile à utiliser, mais en même temps avec un grand potentiel.
Pour un étranger, la tâche de créer votre propre langage de programmation est similaire à une déclaration comme «Je vais construire mon propre avion», mais van Rossum, qui avait alors 30 ans, avait un certain handicap. Pendant trois ans à CWI, il a travaillé avec l'équipe qui a créé ABC, un langage de programmation interprété, alors il avait déjà une idée de la façon de faire un interprète qui exécute les instructions du programmeur, et quel type de blocs de construction syntaxiques sont nécessaires pour le nouveau langage.
Il est également important de comprendre à quel point il était difficile de faire quelque chose avec les capacités limitées des langages de programmation disponibles à l'époque à van Rossum. Le système informatique distribué d'Amoeba avec lequel il travaillait l'obligeait à utiliser C ou la ligne de commande Unix - les deux options avaient de sérieuses limitations. C exigeait que les développeurs luttent non seulement avec les difficultés de gestion manuelle de la mémoire et de navigation dans le champ de mines d'erreurs possibles - il ne disposait pas d'une bibliothèque de code pour les tâches quotidiennes du développeur qui pouvait être réutilisée, c'est pourquoi les développeurs devaient réinventer avec chaque nouveau projet un vélo. Mais la ligne de commande Unix avait ses propres problèmes - il y avait une grande variété d'outils pour les tâches courantes, mais elle fonctionnait si lentement qu'elle ne pouvait pas faire face à une logique complexe.
Les restrictions imposées aux développeurs par ces langages étaient telles que la création de leur propre langage interprété - qui prendrait les meilleures fonctionnalités d'ABC - semblait vraiment à Van Rossum la meilleure option.
«En général, j'ai pensé:« Eh bien, pourquoi je ne crée pas mon propre langage », en volant des idées à ABC, mais en réduisant la taille du projet de ce que nous faisons depuis trois ans, à ce que je pourrais faire moi-même en trois mois, et c'est ainsi que le python est né », dit-il. Van Rossum a vraiment commencé à travailler à ce sujet à la fin de 1989, et il a emprunté le nom à sa troupe de comédie préférée,
Flying Circus de Monty Python - une association avec des serpents et un logo avec un python dactylographié est apparu plus tard - et a travaillé sur le projet chaque fois que possible.
«À cette époque, je n'avais pas une vie sociale riche. Alors, au lieu de regarder le téléviseur, j'ai écrit le code, ou parfois j'ai fait ceci et cela tout de suite », admet-il.
Et bien qu'il ait nominalement créé du python afin de faciliter son travail, van Rossum comprend que le véritable motif a peut-être été le défi de créer son propre langage.
"Je ne sais pas à quel point je pensais sérieusement que cela me rendrait plus productif. Je pense que j'ai en partie juste aimé l'idée de commencer mon projet, d'écrire le code que je voulais et de le développer comme je le voulais. J'aime programmer », dit-il.
Et si pour une personne ordinaire l'idée de créer son propre PJ peut sembler inhabituelle, van Rossum avait une bonne compagnie. À la fin des années 1980, en raison de la déception des capacités des outils existants, de nombreuses langues nouvelles et populaires sont apparues. Le célèbre dicton de Larry Wall dit qu'il a été incité à créer le langage Perl par la complexité de la résolution des problèmes, ainsi que par l'abondance de «paresse, impatience et arrogance». Trouver le meilleur langage pour créer des outils de conception de circuits intégrés interactifs a incité John Osterhout à créer Tcl.
En seulement trois mois, Van Rossum a créé un prototype fonctionnel du python interprété, dans lequel, selon lui, il n'y avait pas de capacités modernes, mais dans lequel il était déjà possible de trouver une version moderne du langage.
«Dans le python d'aujourd'hui, il existe de nombreuses abstractions importantes qui n'existaient pas à l'époque, mais le langage était très similaire», dit-il.
«À ce moment-là, j'avais tous les éléments de base d'un interprète et d'une langue. Les programmes python simples écrits pour la première version de l'interpréteur sont susceptibles de fonctionner aujourd'hui », dit-il, ajoutant que les fonctions étaient définies de la même manière, l'indentation fonctionnait de la même manière, les dictionnaires et les tuples étaient créés de manière identique et il y avait une ligne interactive familière entrée, où vous pouvez écrire du code et obtenir immédiatement les résultats.
Cependant, lorsque deux de ses collègues ont pris cette langue et ont immédiatement commencé à l'utiliser, van Rossum n'avait pas de grandes attentes quant à sa large diffusion - il savait déjà à quel point il était difficile de promouvoir YP à l'époque précédant Internet.
Aujourd'hui, il suffit de quelques clics pour partager des logiciels avec le monde entier. Dans les années 80, cette tâche était beaucoup plus difficile, et van Rossum se souvient des difficultés à essayer de distribuer le prédécesseur du python, ABC.
«Je me souviens qu'en 1985, j'ai visité les États-Unis pour la première fois en vacances avec une bande magnétique dans mon sac à dos», explique Van Rossum.
Guido van Rossum en 2001, lors de la fondation de la Python Software FoundationArmé des adresses et des numéros de téléphone des personnes qui ont manifesté leur intérêt pour ABC à travers les rudiments de courrier électronique qui existaient à l'époque - et par lesquels il était impossible d'envoyer quoi que ce soit de gros, comme le code source -, il s'est rendu d'une adresse à une autre, en distribuant une bande. Mais malgré tous les efforts, ABC n'a pas décollé.
"Il n'est pas surprenant que nous n'ayons pas pu distribuer activement ABC, malgré toutes ses merveilleuses qualités", dit-il. Mais la révolution Internet prenait de l'ampleur et la distribution de python était déjà beaucoup plus facile - une valise avec des films n'était plus nécessaire.
Van Rossum a publié python dans le monde via
le groupe de discussion alt.sources en 1991, presque sous les termes d'une licence open source - bien qu'un tel concept n'apparaisse qu'après six ans. Bien que l'interpréteur python ait dû être téléchargé à partir du réseau Usenet sous la forme de la 21e partie, qui devait ensuite être assemblé en un seul fichier et décompressé, ce mécanisme de livraison était encore beaucoup plus efficace que la livraison de copies physiques, entreprise plusieurs années auparavant.
«J'espérais un certain succès, mais j'avais déjà l'expérience de publier un autre projet, qui s'est finalement transformé en fiasco», dit-il.
Avec une telle expérience, Van Rossum n'a pas immédiatement tiré de conclusions de la base croissante d'utilisateurs de python. Peu à peu, il s'est rendu compte que la popularité ne s'arrêtait pas et, à un moment donné, après des contacts réguliers avec la communauté python, il s'est rendu compte qu'il avait créé quelque chose qui pouvait réussir.
«À mon avis, la compréhension m'est venue très lentement. Après la première version du code open source, j'ai construit le rythme de la publication des versions suivantes et de l'interaction avec la communauté python émergente. Et tout cela ressemblait à quelque chose de sérieux. »
Pourquoi Python a gagné
Après que la langue a commencé à prendre de l'ampleur au début et au milieu des années 1990, van Rossum a eu le sentiment que le python était la langue dont le moment était venu.
Van Rossum pense que les développeurs ont été attirés par la même chose qui lui a fait créer ce langage. Ils voulaient trouver un langage de script de haut niveau qui fournisse un équilibre entre la facilité d'utilisation et une abondance de capacités, et n'avaient pas les limitations dont souffrait la ligne de commande Unix lors du travail avec une logique complexe. Ils voulaient mettre fin aux exigences insistantes du C en jouant avec la gestion de la mémoire et en réécrivant constamment du code pour les mêmes tâches de base au début de chaque projet.
Worso dit que le python a atteint un équilibre d'utilisation sans sacrifier les fonctionnalités - les langages qui existaient au début des années 1990 ne pouvaient pas offrir une telle chose. «J'ai programmé beaucoup de Perl, Tcl et C, et ce n'était pas très intéressant. Puis un python est entré en scène, et j'ai pensé: "Wow, maintenant c'est intéressant de programmer à nouveau", dit-il.
Barry Warso lors de la première réunion de travail des utilisateurs de python en 1994Python a proposé et propose une syntaxe claire et sans ambiguïté dans laquelle le code est regroupé en blocs par indentation, ce qui facilite la compréhension du code par les développeurs.
Fintan Ryan, directeur de recherche de l'équipe de stratégie de plate-forme d'application de la firme analytique Gartner, affirme que la clarté du code a joué un grand rôle pour gagner la sympathie des développeurs, à la fois maintenant et dans les années 1990, bien que donner une telle importance à l'indentation ait divisé la communauté. «Il a suggéré une syntaxe très claire. Dans d'autres langages, il était également possible d'écrire du code comme celui-ci, mais python l'a forcé automatiquement. Certains programmeurs l'adorent, tandis que d'autres le détestent », dit-il.
Le fait que python place le code clair et lisible en premier n'est pas un hasard - van Rossum a déclaré que les langages de programmation sont nécessaires non seulement pour dire à l'ordinateur quoi faire, mais aussi pour transférer des idées d'un développeur à un autre.
Outre la lisibilité, dit Ryan, python a presque immédiatement offert des fonctionnalités intégrées qui le distinguent des autres langages. «Il y avait des fonctionnalités telles que les classes et la gestion des exceptions. Python a également pris en charge des fonctionnalités telles que lambda, map et filter, qui ont été très utiles dans de nombreux cas », dit-il.
Python n'aurait peut-être pas vu le jour si les PJ populaires des années 80 étaient de meilleure qualité. L'une des motivations de Van Rossum pour créer du python était l'incompatibilité du langage de script Perl et du système informatique distribué d'Amoeba, sur lequel il a travaillé au CWI. "Python a eu la chance que Perl ne puisse pas être porté sur Amoeba", dit-il. «Si Perl avait réussi à porter sur Amoeba, je n'aurais jamais pensé à créer ma propre langue.»
Bien que python ait créé une véritable base d'adhérents après la sortie, dans les années 1990, il était un outsider parmi les YaP. Van Rossum dit que Tcl / Tk et Perl se disputaient la première place, et tous deux avaient le même objectif que python - facilité d'utilisation et fonctionnalités riches.
"Dans les années 90, Perl a définitivement pris la première place dans les trois premiers - c'était quelque chose comme un gorille de 400 kg - puis est allé Tcl / Tk, et le python a pris une modeste troisième place", dit-il.
Aujourd'hui, python se développe plus rapidement que tous les autres PL, selon les développeurs actifs - cela découle de l'enquête annuelle des développeurs de Stack Overflow, l'un des examens les plus complets des PL - et Perl a rétréci au point qu'il n'était plus mentionné dans le dernier rapport.
Cette croissance explosive est illustrée dans le graphique ci-dessous, où il est noté comment le nombre de vues de questions liées à python sur le site Web Stack Overflow a augmenté plus rapidement que le nombre de vues de questions provenant d'autres langues.

Alors, comment Python a-t-il vaincu son rival de longue date et comment expliquer le sort si différent des deux PJ? Van Rossum pense que cela est dû en particulier à la facilité avec laquelle il est possible de maintenir une base de code lorsqu'elle dépasse un certain cadre. «Les gens pensaient que Perl était parfait pour écrire des scripts de 10 lignes», dit-il. "Mais lorsque vous avez 500 lignes de code principal et plusieurs milliers de lignes dans les bibliothèques, une énorme discipline est requise pour que le code soit pris en charge à l'avenir." En python, même si vous n'avez pas une telle discipline, le code sera assez facile à lire et à maintenir. "
Cette propriété de python, une combinaison d'un langage simple pour les débutants, qui est en même temps suffisamment fiable pour écrire de grandes applications dessus, van Rossum attribue à son succès initial dans les années 1990.
"Il y avait plusieurs développeurs sur Internet - la plupart de cette histoire concerne les premiers stades du développement d'Internet - qui avaient besoin d'écrire de plus en plus de grandes applications, et qui aimaient qu'en python, vous puissiez dépenser beaucoup moins d'efforts qu'en utilisant C, C ++ ou Java. "
Avec la popularité croissante du python dans les années 1990, van Rossum, toujours au CWI, a découvert que son idée originale le connectait de plus en plus à des gens du monde entier. «J'ai fait quelque chose, et cela m'a mis en contact avec des gens du monde entier - des gens d'Australie, des États-Unis, d'autres pays européens. J'ai vraiment aimé ça », dit-il.
Python et web
Au milieu des années 1990, ils ont commencé à utiliser le python d'une nouvelle manière, des scripts à l'enregistrement et à la lecture audio, jusqu'aux premiers raids du langage sur le développement Web, qui à la fin serait le principal bastion du python.
«L'un des grands domaines de l'utilisation des langues était le développement Web, qui était également très intéressant pour moi personnellement», explique Van Rossum, et ajoute qu'ils ont commencé à utiliser python pour créer des scripts backend sur les serveurs Web avec Perl et des scripts de ligne de commande. "Vous pouvez créer des pages Web dynamiques, et cela est devenu l'une de mes utilisations préférées de python."
Gartner ryan affirme que la popularité du python dans les années 1990 en a fait un choix préféré pour créer rapidement des scripts puissants. «Le fait qu'il s'agissait d'un langage de script avec des fonctionnalités étendues a réduit la barrière d'entrée pour de nombreux utilisateurs», dit-il.
En outre, Ryan dit que YP était suffisamment flexible et si facile à apprendre qu'il était apprécié par des utilisateurs très différents avec des antécédents techniques différents. «Les administrateurs système et d'autres personnes ont commencé à utiliser ce langage pour automatiser les systèmes et la programmation, les développeurs à cause de choses comme la programmation fonctionnelle et les classes avec héritage; Perl, par exemple, avait beaucoup moins de telles fonctionnalités, dit-il. «Après que les gens se soient familiarisés avec la langue et que la courbe d'apprentissage ait été assez douce, ils ont très rapidement commencé à atteindre un haut niveau de productivité.»
En 1994, le python avait attiré l'attention de Michael McLay, l'un des cadres du US Bureau of Standards (NBS), qui est maintenant devenu le State Institute of Standards and Technology (NIST).
Anticipant l'amour des chercheurs et des scientifiques pour le python, MacLay voulait savoir si les scientifiques de NBS pouvaient utiliser le python, qui, selon van Rossum, "a collecté des quantités importantes de données, mais n'avait pas de bons programmeurs".Pour aider à vendre l'idée d'utiliser le python à d'autres membres du bureau, Maclay a invité Van Rossum, qui travaillait toujours au CWI aux Pays-Bas, à travailler pour le NIST en tant que chercheur invité pendant quelques mois. Ce fut le catalyseur de l'évolution future du python et changea sérieusement la vie de van Rossum.C'est à cette époque que la première réunion de travail des utilisateurs de python a eu lieu, qui a eu lieu dans les bureaux de NBS, et au cours de laquelle van Rossum, Barry Worso et d'autres premiers passionnés de python se sont rencontrés pour discuter de la façon dont ils utilisent le python et de leurs espoirs pour son développement futur.
Van Rossum lors de la première réunion de travail des utilisateurs de python, avec Uorso et Roger Masset, tout en travaillant avec Uorso au CNRI.Dans les bureaux de NBS, van Rossum a rencontré Bob Kahn, connu pour son rôle dans le développement d'une des principales technologies Internet, le protocole TCP / IP.Lors de la réunion, Van Rossum a été proposé de travailler avec Kahn à la Corporation for State Research Initiatives (CNRI), un groupe de recherche à but non lucratif de Virginie qui était impliqué dans le développement stratégique des technologies de réseau.Comme un python a répondu au besoin d'un nouveau type de PL, l'offre de travail, selon van Rossum, est venue juste au moment où il s'interrogeait sur son avenir au CWI."CWI était une organisation plus académique, ils m'ont constamment pressé de défendre mon doctorat ou de trouver du travail ailleurs", dit-il.«Je n'étais pas très satisfait de la perspective d'une thèse de doctorat à l'âge de 35 ans. Avant cela, également grâce au python, j'avais plusieurs autres possibilités lorsque, après plusieurs appels téléphoniques et un peu de temps pour réfléchir, j'ai décidé de les balayer. Mais ici, j'aimais les gens, j'aimais leur proposition, le projet - et j'ai profité de la proposition. "C'est au CNRI que van Rossum a rassemblé bon nombre des structures nécessaires à la gestion d'un PJ en python en utilisant une équipe de passionnés du même langage. Installé au CNRI en avril 1995, van Rossum a dirigé une petite équipe de développeurs travaillant sur le logiciel Knowbot Programs, des agents mobiles conçus pour fonctionner sur des systèmes informatiques distribués tels qu'Internet.L'équipe a travaillé dans le langage python, et Jeremy Hilton, Roger Masset, Barry Warso, Ken Mannheimer et Fred Drake ont rejoint van Rossum - tous joueront plus tard des rôles importants dans la communauté python.«Nous avons un groupe de 4 à 10 personnes, dont la plupart travaillaient au CNRI, et ils sont devenus le cœur du développement de python», explique van Rossum.Pendant que van Rossum travaillait au CNRI, cette équipe l'a aidé à créer python.org, un serveur CVS pour gérer les modifications de la base de code et une liste de diffusion pour les groupes d'intérêt spécial Python, des groupes qui ont travaillé pour améliorer et prendre en charge Python python.La communauté des utilisateurs de Python a connu une croissance exponentielle depuis sa sortie en 1991, et dans la seconde moitié de la décennie, ce langage a attiré une importante base d'utilisateurs du monde entier. Au cours de cette période, la formalisation de la gestion du langage a commencé, les développeurs ont fondé le prédécesseur de la Python Software Foundation (PSF), qui apparaîtra en 2001. Avec la croissance de la communauté, deux réunions de travail par an sur la langue, qui ont commencé en 1994, se sont transformées en événements annuels plus importants, et en en conséquence - dans le PyCon annuel de PSF, qui se tient à ce jour.Au début du 21e siècle, la langue dépassait les capacités de tout individu, une grande communauté a joué un rôle actif dans le développement de la langue - un long chemin a été parcouru depuis l'été 1994, lorsque les premiers utilisateurs de la langue étaient inquiets de ce qui lui arriverait si Guido montait dans un bus.Mais van Rossum a continué à jouer un rôle clé et n'a pas cessé d'être au cœur du langage - cela ressort clairement du surnom humoristique du " magnanime life-long dictator " (BDFL), qui existe depuis de nombreuses années.«Pour la plupart, j'ai réussi à faire face à la pression pendant un certain temps, et j'ai également développé des compétences en gestion de projet qui m'ont permis de déléguer beaucoup de choses et de donner aux gens le contrôle de leur propre destin», explique van Rossum.Ryan de Gartner dit qu'il n'est pas inhabituel pour un créateur de langage de rester son intendant, comme Larry Wall avec Perl et Ryan Dahl avec Node.js, mais il précise que van Rossum est connu pour son objectivité dans la gestion de python. «Quant à la direction du développement et de la gestion du projet, tout le monde le reconnaît comme très équilibré», dit-il.C'est la nature ouverte du développement de python, à l'aide de discussions publiques de la communauté et des développeurs clés, que Van Rossum considère comme le facteur décisif du succès du python.Évolution de Python
Dans les années qui ont suivi, le python a pris des mesures gigantesques, en 2008 un Python 3.0 modernisé a été introduit, et récemment des changements sérieux ont été décrits dans la gestion du langage. Ils ont commencé l'année dernière lorsque van Rossum a perdu la tête du poste BDFL après que la communauté a partagé une proposition visant à introduire des affectations dans le langage dans les expressions discutées dans la proposition d'amélioration Python PEP572 .Une nouvelle opportunité a été introduite afin d'écrire un code plus efficace, mais van Rossum a été sérieusement critiqué par les opposants aux modifications de cette proposition - certains d'entre eux ont fait valoir que son utilisation dégraderait la lisibilité du code et compliquerait son soutien.Van Rossum a déclaré qu'il avait l'habitude de discuter des innovations, mais dans ce cas, l'intransigeance de certains calomniateurs et la nature des insultes personnelles l'ont forcé à démissionner.«J'ai été déçu du fait que des personnes qui n'étaient pas d'accord avec la proposition pour des raisons techniques ont quitté le réseau social et ont commencé à se plaindre que le processus décisionnel était interrompu ou que je faisais une grave erreur. C'était comme s'ils m'attaquaient par le dos », dit-il.«Dans le passé, il était toujours clair que si un langage devait être changé ou amélioré, certains des développeurs clés se réuniraient et discuteraient des avantages et des inconvénients de l'innovation. Et puis soit un consensus explicite a été développé, soit tout n'était pas si clair, puis j'ai examiné cette proposition et pris une décision. Et avec PEP572, bien que la proposition ait été controversée, j'ai décidé que je voulais l'approuver, et les gens n'étaient pas d'accord pour dire que nous n'étions pas d'accord. Ce n'était pas une émeute, mais il me semblait que je n'avais pas la confiance d'un nombre suffisant de développeurs clés pour continuer à travailler. "Il pense qu'un changement dans le processus de règlement des différends s'est produit, en particulier, en raison du nombre de personnes qui utilisent python aujourd'hui.«Tout dépend probablement de la taille de la communauté python. Il est plus difficile de parvenir à une sorte d’accord, car il y aura toujours des partisans de points de vue opposés, quelle que soit votre décision. »Plus tôt cette année, les principaux développeurs de python - prenant en charge et mettant à jour l'interpréteur CPython - ont choisi un conseil d'administration qui devrait planifier l'avenir du langage. Van Rossum, Worso et leurs collègues Brett Cannon, Carol Willing et Nick Coglan sont entrés. Worso dit que ce changement était nécessaire pour gérer la langue avec une base d'utilisateurs en croissance rapide."Je pense que Guido semblait vraiment tenir le monde entier sur ses seules épaules", dit-il. - Ça a commencé il y a 25 ans quand la communauté python était beaucoup plus petite et la langue plus petite, mais aujourd'hui c'est trop pour une seule personne, tu sais? Je pense que c'est bon pour la santé et la possibilité de participer à des actions communautaires, c'était bien de répartir ce fardeau à cinq », explique Warso.De nouvelles élections au conseil d'administration auront lieu après chaque sortie de la nouvelle version de python, qui, selon Warso, ouvrira la voie à la prochaine génération de dirigeants. "Si le python est vivant après 25 ans, ce ne sera pas Guido et moi qui le gérerons, tu comprends?" Dit-il.L'organisation du conseil d'administration a également été bien accueillie par la communauté des développeurs clés. L'un d'eux, Mariatta Vijaya, dit que cette action semble être un pas dans la bonne direction. «Le conseil d'administration vaut mieux qu'une personne qui prend toutes les décisions - c'est trop de responsabilité et de fardeau», dit-elle. "C'est un bon signe, et grâce à cela, la communauté aura plus d'informations entrantes."
L'un des principaux développeurs, Mariatta VigayaFutur python
Bien que python continue d'attirer un nombre exorbitant de nouveaux utilisateurs, certains membres de la communauté voient les difficultés à venir et pensent que le langage doit évoluer pour rester pertinent.
Lors d'une réunion d'utilisateurs de python cette année, le cofondateur de BeeWare, Russell Kit-Maggie, a averti tout le monde que le python serait confronté à un «risque existentiel» s'il n'améliorait pas la prise en charge des mobiles et des nouvelles plateformes Web. "Les téléphones et les tablettes ont tellement pénétré le marché que les ordinateurs de bureau et les ordinateurs portables n'en ont jamais rêvé, et la communauté n'a aucune idée de la façon d'utiliser le python sur ces appareils", a-t-il déclaré, indiquant que son fils utilise un iPad à l'école. "Qu'arrivera-t-il à python lorsque les ordinateurs portables se révéleront être des appareils de niche?"
Kit-Maggi, dont le projet BeeWare vise à exécuter le programme une fois en python n'importe où, a déployé une liste de problèmes que python a maintenant dans le domaine des plates-formes de support autres que les PC x86 standard.
Il a souligné les faiblesses suivantes: la nécessité d'améliorer la prise en charge du code compilé pour les nouvelles plates-formes non compatibles avec x86; la suite de tests python se bloque 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; la nécessité de consacrer des efforts à la finalisation de la bibliothèque asyncio pour travailler avec l'interface graphique pour Android, Windows et le Web; le nombre de modules de la bibliothèque standard qui sont incompatibles avec les interpréteurs python autres que CPython.
Uorso dit que Kit-Maggie dit la bonne chose et considère les problèmes importants liés à la mise à jour de python pour les nouvelles plates-formes - téléphones, tablettes, nouvelles technologies Web comme WebAssembly.
«Jusqu'à présent, python ne peut rien offrir de bon», explique Warso à propos du rêve de pouvoir télécharger une application pour iPhone ou Android, et «ne sachant même pas qu'elle est écrite en python».
Avec le nombre croissant de cœurs de processeur dans les puces modernes (jusqu'à 48 cœurs dans les derniers processeurs de serveur d'Intel), Uorso attend également avec impatience le moment où python sera mieux en mesure de répartir les tâches sur plusieurs cœurs.
Il est très intéressé par le potentiel des travaux d'Eric Snow sur les sous-interprètes et comment ils peuvent étendre les capacités de python dans le fonctionnement simultané des processus. «J'aimerais vraiment voir plus de travail pour tirer pleinement parti des systèmes multicœurs», dit-il.
Snow travaille sur un projet à long terme qui permet à python de fractionner efficacement les tâches entre plusieurs cœurs de processeur. En même temps, il s'est concentré sur l'utilisation d'une version révisée d'une fonctionnalité python aussi intéressante que les sous-interprètes et sur la modification de la façon dont chaque sous-interprète interagit avec le bloqueur d'interpréteur global (GIL).
"Pour Python 3.8, il n'aura pas le temps de se préparer, peut-être sera-t-il dans la version 3.9", explique Worso. «Je pense que nous verrons cela au cours des deux ou deux prochaines années et demie.» Je suis optimiste. Je suis très heureux qu'Eric continue de travailler là-dessus parce que je le considère important. "
Il dit que même à partir de projets ayant échoué et prenant en charge le python multithread, par exemple, The Gilectomy, vous pouvez apprendre des leçons intéressantes sur la façon dont le python peut devenir meilleur en répartissant le travail entre les noyaux.
La communauté Python prend également des mesures pour mettre à niveau la bibliothèque de langage standard avec du code incorporé et a récemment publié une proposition pour en supprimer les modules obsolètes; ceci est une réponse aux critiques récentes sur l'état de la bibliothèque standard de python. Il est généralement considéré comme l'un des points forts du langage, il peut être utilisé pour résoudre un large éventail de tâches ordinaires, par conséquent, on dit souvent que le python a des «batteries en place». Cependant, lors d'une réunion des développeurs de python cette année, la question a été posée de savoir s'il serait préférable de laisser les gens choisir des bibliothèques dans le référentiel PyPI, au lieu de fournir toutes ces fonctionnalités avec le langage en tant que bibliothèque standard.
Il y avait également des questions quant à savoir si le groupe de personnes qui gèrent le développement du langage - les développeurs clés et le conseil d'administration - pourrait mieux refléter la diversité des utilisateurs de python en 2019. "Je voudrais voir le meilleur affichage pour une variété de mesures, non seulement en termes d'équilibre entre les sexes, mais aussi par race, et tout le reste", a déclaré Vijaya.
«J'ai parlé à PyCon avec des filles du groupe
PyLadies , d'Inde et d'Afrique. Ils ont déclaré: «Lorsque les gens entendent parler de python ou de PyLadies, ils imaginent des gens d'Amérique du Nord ou du Canada, mais en réalité dans d'autres parties du monde, il existe également une vaste base d'utilisateurs. Pourquoi sont-ils si rarement vus? Et cela me semble raisonnable. Je voudrais donc voir cela, et je pense que nous devrions tous y participer. »
En conséquence, malgré l'idée humoristique d'un «dictateur généreux» en charge de tous les problèmes, ces dernières années, toutes les idées qui ont changé le python sont venues de la communauté, explique Worso, grâce aux personnes utilisant le python au maximum et ouvrant des portes pour les nouveaux utilisateurs. «En réalité, tout se passe de bas en haut, du côté de la communauté, et non l'inverse», dit-il.
À titre d'exemple de la façon dont de simples projets communautaires peuvent sérieusement affecter python, Type Hints est une fonctionnalité de Python 3.5 inspirée du projet
mypy lancé par l'étudiant diplômé en 2012. Ces "astuces" permettent une vérification de type facultative, ce qui permet aux développeurs de détecter les erreurs d'un type spécial, qui autrement auraient pu leur échapper.
Cette année, le python a aidé à assembler la première image d'un trou noir à partir de morceauxCe niveau de sécurité supplémentaire n'est pas seulement une opportunité intéressante si vous avez un projet dans lequel de nombreuses personnes travaillent sur une grande base de code. Un niveau supplémentaire de compréhension de ce que le code doit et ne doit pas faire peut être crucial.
«Le fait que cela permette au python de s'adapter aux besoins des grandes entreprises - comme Instagram, qui fonctionne essentiellement sur Python 3 - est tout simplement inestimable pour moi», explique Worso,
citant asyncio comme un autre exemple de l'idée. une communauté qui peut sérieusement affecter les capacités linguistiques.
Avec le conseil d'administration et la plus grande base d'utilisateurs de tous les temps, Van Rossum est optimiste que «l'évolution de la langue à travers la communauté» continuera de réaliser «des succès incroyables».
«Nous avons une communauté très dense de développeurs clés qui ont un nouveau système de gouvernement, et je pense que nous sommes mieux préparés aux demandes qui accompagnent le python et son évolution», dit-il, louant une profonde compréhension des aspects spécifiques du langage qui existe. dans la communauté.
Si quelqu'un a des doutes sur la capacité de la communauté à trouver de nouvelles façons inattendues d'utiliser le langage, tout ce que vous avez à faire est d'explorer le rôle du python pour obtenir la première image d'un trou noir, explique Worso.
«Cela m'a époustouflé. Il y a quelques personnes dans la communauté python que je considère comme nos scientifiques fous. Ils essaient toujours de repousser les limites de la langue. »