Guido Van Rossum war von den Mängeln bestehender Programmiersprachen enttäuscht und schuf die Python-Sprache. Jetzt wird diese Sprache von Millionen von Menschen verwendet, und Nick Heath spricht mit van Rossum über die Vergangenheit und Zukunft der Sprache.
Guido Van Rossum im Dropbox-Hauptquartier im Jahr 2014Ende 1994 versammelte sich eine Gruppe ausgewählter Programmierer aus den USA, um über ihre neue Geheimwaffe zu diskutieren.
Barry Worso war einer von zwei Dutzend Entwicklern, die sich zum allerersten Workshop über die neue Programmiersprache
Python versammelten, und erinnert sich, wie offensichtlich die freudige Aufregung seiner ersten Benutzer war.
"Ich erinnere mich besonders an eine Person, die sagte:" Sagen Sie niemandem, dass ich hier bin, denn die Tatsache, dass wir Python verwenden, ist ein Wettbewerbsvorteil. " Es war ihre Geheimwaffe. “
Selbst bei diesem frühen Treffen im US-amerikanischen Bureau of State Standards in Maryland war es, wie Warso sagt, offensichtlich, dass Python etwas Neues in Bezug auf einfaches Schreiben von Code und einfache Ergebnisse bietet.
„Als sie mir Python zum ersten Mal zeigten, wusste ich, dass es etwas Besonderes war. Es war eine Kombination aus Lesbarkeit und der Freude, Code in Python zu schreiben “, erinnert er sich.
Heute hat sich die Begeisterung für Python weit über die Grenzen dieser Handvoll Entwickler hinaus verbreitet, und einige von ihnen sagen voraus, dass es bald die beliebteste Sprache der Welt werden wird, da es neue Benutzer schneller als jede andere Sprache gewinnt. Millionen von Menschen verwenden Python täglich, und das exponentielle Wachstum seiner Benutzer zeigt keine Anzeichen einer Verlangsamung.
Python wird für große und kleine Aufgaben von professionellen und unerfahrenen Entwicklern verwendet und ist besonders bei Webentwicklern, Data Science-Experten und Systemadministratoren beliebt. Mit Hilfe von Python in diesem Jahr wurden die ersten Bilder eines Schwarzen Lochs, das 500 Millionen Billionen Kilometer von uns entfernt liegt, erhalten und unzählige Skripte, die auf Desktop-Computern auf der ganzen Welt geschrieben wurden, funktionieren.
Python spielt eine wichtige Rolle in einigen der berühmtesten Organisationen der Welt: Es hilft Netflix, Streaming-Videos an mehr als 100 Millionen Haushalte auf der ganzen Welt zu senden, liegt dem Phänomen des Instagram-Foto-Sharing zugrunde und hilft der NASA, den Weltraum zu erkunden.
Frühe Jahre der Python
In einigen Aspekten ist die wachsende Popularität von Python ebenso surreal und überraschend wie die Popularität der britischen Comedy-Gruppe, zu deren Ehren sie benannt wurde, und in ihrer Nische ist die Sprache ebenso berühmt und einflussreich geworden.
Diese Programmiersprache erschien als Drittanbieterprojekt eines niederländischen Programmierers,
Guido Van Rossum . In den späten 1980er Jahren arbeitete van Rossum an einem verteilten System am Centrum Wiskunde & Informatica (CWI), dem staatlichen niederländischen Forschungszentrum für Mathematik und Informatik. Frustriert von den Mängeln bestehender Programmiersprachen entschied er sich für eine neue - eine, die einfach zu bedienen, aber gleichzeitig mit großem Potenzial ausgestattet sein würde.
Für einen Außenstehenden ähnelt die Aufgabe, eine eigene Programmiersprache zu erstellen, einer Aussage wie „Ich werde mein eigenes Flugzeug bauen“, aber der damals 30-jährige van Rossum hatte ein gewisses Handicap. Drei Jahre lang arbeitete er bei CWI mit dem Team zusammen, das ABC, eine interpretierte Programmiersprache, entwickelte. Daher hatte er bereits eine Idee, wie ein Interpreter erstellt werden kann, der die Anweisungen des Programmierers ausführt, und welche syntaktischen Bausteine für die neue Sprache benötigt werden.
Es ist auch wichtig zu verstehen, wie schwierig es war, mit den begrenzten Möglichkeiten der Programmiersprachen, die van Rossum zu dieser Zeit zur Verfügung standen, etwas zu tun. Für das verteilte Amoeba-Computersystem, mit dem er arbeitete, musste er C oder die Unix-Befehlszeile verwenden - beide Optionen hatten schwerwiegende Einschränkungen. C forderte die Entwickler auf, nicht nur mit den Schwierigkeiten zu kämpfen, den Speicher manuell zu verwalten und durch das Minenfeld möglicher Fehler zu navigieren, sondern auch keine Codebibliothek für die alltäglichen Aufgaben des Entwicklers zu haben, die wiederverwendet werden könnte, weshalb Entwickler bei jedem neuen Projekt neu erfinden mussten Fahrrad. Die Unix-Befehlszeile hatte jedoch ihre eigenen Probleme - es gab eine Vielzahl von Tools für allgemeine Aufgaben, aber sie arbeitete so langsam, dass sie komplexe Logik nicht bewältigen konnte.
Die Einschränkungen, die Entwicklern durch diese Sprachen auferlegt wurden, waren derart, dass die Erstellung einer eigenen interpretierten Sprache - die die besten Funktionen von ABC übernehmen würde - Van Rossum wirklich als die beste Option erschien.
„Ich dachte im Allgemeinen:„ Nun, warum erstelle ich nicht meine eigene Sprache? “Ich stahl Ideen von ABC, reduzierte aber die Größe des Projekts von dem, was wir seit drei Jahren tun, auf das, was ich selbst tun könnte in drei Monaten, und so wurde die Python geboren “, sagt er. Van Rossum begann Ende 1989 wirklich daran zu arbeiten, und er lieh sich den Namen von seiner Lieblings-Comedy-Truppe
Monty Pythons Flying Circus aus - eine Assoziation mit Schlangen und ein Logo mit einer getippten Python erschien später - und arbeitete, wann immer möglich, an dem Projekt.
„Zu dieser Zeit hatte ich kein reiches soziales Leben. Anstatt auf den Fernseher zu starren, habe ich den Code geschrieben oder manchmal habe ich dies und das sofort getan “, gibt er zu.
Und obwohl er nominell Python geschaffen hat, um seine Arbeit zu erleichtern, versteht van Rossum, dass das eigentliche Motiv die Herausforderung gewesen sein könnte, seine eigene Sprache zu erschaffen.
"Ich weiß nicht, wie ernst ich glaubte, dass dies mich produktiver machen würde. Ich denke, dass mir die Idee, mein Projekt zu starten, den gewünschten Code zu schreiben und ihn so zu entwickeln, wie ich es wollte, teilweise nur Spaß gemacht hat. Ich programmiere gerne “, sagt er.
Und wenn für einen gewöhnlichen Menschen die Idee, ein eigenes YP zu schaffen, ungewöhnlich erscheint, hatte van Rossum eine gute Gesellschaft. In den späten 1980er Jahren tauchten aufgrund der Enttäuschung über die Fähigkeiten bestehender Tools viele neue und beliebte Sprachen auf. Das berühmte Sprichwort von Larry Wall besagt, dass er durch die Komplexität der Problemlösung sowie die Fülle an „Faulheit, Ungeduld und Arroganz“ dazu veranlasst wurde, die Perl-Sprache zu erschaffen. John Osterhout fand die beste Sprache für die Erstellung interaktiver Tools für das Design integrierter Schaltkreise und veranlasste Tcl.
In nur drei Monaten schuf Van Rossum einen funktionierenden Prototyp der interpretierten Python, in dem es seiner Meinung nach keine modernen Fähigkeiten gab, in dem es jedoch bereits möglich war, eine moderne Version der Sprache herauszufinden.
"In der heutigen Python gibt es viele wichtige Abstraktionen, die es damals noch nicht gab, aber die Sprache war sehr ähnlich", sagt er.
„In diesem Moment hatte ich alle grundlegenden Komponenten eines Dolmetschers und einer Sprache. Einfache Python-Programme, die für die erste Version des Interpreters geschrieben wurden, funktionieren wahrscheinlich heute “, sagt er und fügt hinzu, dass Funktionen auf dieselbe Weise definiert wurden, Einrückungen auf dieselbe Weise funktionierten, Wörterbücher und Tupel identisch erstellt wurden und es eine vertraute interaktive Zeile gab Eingabe, wo Sie Code schreiben und sofort die Ergebnisse erhalten können.
Als jedoch zwei seiner Kollegen diese Sprache nahmen und sie sofort verwendeten, hatte van Rossum keine großen Erwartungen an ihre weite Verbreitung - er wusste bereits, wie schwierig es war, YP in der Zeit vor dem Internet zu fördern.
Heute sind nur wenige Klicks erforderlich, um Software für die ganze Welt freizugeben. In den 1980er Jahren war diese Aufgabe viel schwieriger, und van Rossum erinnert sich an die Schwierigkeiten beim Versuch, den Python-Vorgänger ABC zu vertreiben.
„Ich erinnere mich, dass ich 1985 zum ersten Mal mit einem Magnetband im Rucksack die USA im Urlaub besucht habe“, sagt Van Rossum.
Guido van Rossum im Jahr 2001, als die Python Software Foundation gegründet wurdeBewaffnet mit den Adressen und Telefonnummern von Personen, die Interesse an ABC durch die damals existierenden E-Mail-Grundlagen bekundeten - und die nichts Großes wie Quellcode senden konnten -, reiste er von einer Adresse zur anderen und verteilte Band. Trotz aller Bemühungen startete ABC nicht.
"Es ist keine Überraschung, dass wir ABC trotz all seiner wunderbaren Eigenschaften nicht aktiv vertreiben konnten", sagt er. Aber die Internetrevolution gewann an Fahrt und das Verteilen von Python war bereits viel einfacher - ein Koffer mit Filmen war nicht mehr erforderlich.
Van Rossum veröffentlichte Python 1991 über
die alt.sources-Newsgroup in die Welt, fast unter den Bedingungen einer Open-Source-Lizenz - obwohl ein solches Konzept erst nach sechs Jahren erscheinen wird. Obwohl der Python-Interpreter in Form des 21. Teils aus dem Usenet-Netzwerk heruntergeladen werden musste, der dann zu einer einzigen Datei zusammengesetzt und entpackt werden musste, war dieser Übermittlungsmechanismus immer noch viel effizienter als die Übermittlung physischer Kopien, die einige Jahre zuvor durchgeführt wurde.
„Ich hatte auf Erfolg gehofft, aber ich hatte bereits die Erfahrung, ein weiteres Projekt zu veröffentlichen, das sich schließlich in ein Fiasko verwandelte“, sagt er.
Mit dieser Erfahrung zog Van Rossum nicht sofort Schlussfolgerungen aus der wachsenden Python-Nutzerbasis. Allmählich erkannte er, dass die Popularität nicht aufhörte, und irgendwann, nach regelmäßigen Kontakten mit der Python-Community, erkannte er, dass er etwas geschaffen hatte, das erfolgreich sein konnte.
„Meiner Meinung nach kam das Verständnis sehr langsam zu mir. Nach der ersten Veröffentlichung des Open Source-Codes habe ich den Rhythmus für die Veröffentlichung der folgenden Versionen und die Interaktion mit der aufstrebenden Python-Community entwickelt. Und das alles fühlte sich wie etwas Ernstes an. “
Warum hat Python gewonnen?
Nachdem die Sprache Anfang und Mitte der neunziger Jahre an Dynamik gewonnen hatte, hatte van Rossum das Gefühl, dass die Python die Sprache war, deren Zeit gekommen war.
Van Rossum glaubt, dass Entwickler von der gleichen Sache angezogen wurden, die ihn dazu gebracht hat, diese Sprache zu entwickeln. Sie wollten eine Skriptsprache auf hoher Ebene finden, die ein Gleichgewicht zwischen Benutzerfreundlichkeit und einer Fülle von Funktionen bietet und nicht die Einschränkungen aufweist, unter denen die Unix-Befehlszeile bei der Arbeit mit komplexer Logik leidet. Sie wollten den dringenden Anforderungen des C-Durcheinanders mit der Speicherverwaltung ein Ende setzen und zu Beginn jedes Projekts den Code für dieselben grundlegenden Aufgaben ständig neu schreiben.
Laut Worso hat Python ein Gleichgewicht in der Benutzerfreundlichkeit erreicht, ohne auf Funktionen zu verzichten - Sprachen, die Anfang der neunziger Jahre existierten, konnten so etwas nicht bieten. „Ich habe viel Perl, Tcl und C programmiert und es war nicht sehr interessant. Dann kam eine Python auf die Bühne und ich dachte: "Wow, jetzt ist es interessant, wieder zu programmieren", sagt er.
Barry Warso beim ersten Python-User-Work-Meeting 1994Python schlug eine klare, eindeutige Syntax vor und bietet diese an, bei der Code durch Einrücken in Blöcke gruppiert wird, um Entwicklern das Verständnis des Codes zu erleichtern.
Fintan Ryan, Research Director des Strategieteams für Anwendungsplattformen bei Gartner, sagt, dass die Klarheit des Codes sowohl jetzt als auch in den 1990er Jahren eine große Rolle dabei gespielt hat, die Sympathie der Entwickler zu gewinnen, obwohl die Einrückung der Community die Bedeutung der Einrückung geteilt hat. „Es wurde eine sehr klare Syntax vorgeschlagen. In anderen Sprachen war es auch möglich, Code wie diesen zu schreiben, aber Python erzwang dies automatisch. Einige Programmierer lieben es, andere hassen es “, sagt er.
Die Tatsache, dass Python klaren und lesbaren Code an die erste Stelle setzt, ist kein Zufall - van Rossum sagte, dass Programmiersprachen nicht nur benötigt werden, um dem Computer zu sagen, was zu tun ist, sondern auch, um Ideen von einem Entwickler auf einen anderen zu übertragen.
Neben der Lesbarkeit, so Ryan, bot Python fast sofort integrierte Funktionen, die es von anderen Sprachen abheben. „Es gab Funktionen wie Klassen und Ausnahmebehandlung. Python unterstützte auch Funktionen wie Lambda, Map und Filter, die in vielen Fällen sehr nützlich waren “, sagt er.
Python wäre möglicherweise nicht erschienen, wenn die beliebten YPs in den 1980er Jahren von besserer Qualität wären. Eine der Motive von Van Rossum für die Erstellung von Python war die Inkompatibilität der Perl-Skriptsprache und des verteilten Amoeba-Computersystems, an dem er in CWI arbeitete. "Python hatte das Glück, dass Perl nicht nach Amoeba portiert werden konnte", sagt er. "Wenn Perl es geschafft hätte, nach Amoeba zu portieren, hätte ich nie daran gedacht, meine eigene Sprache zu kreieren."
Obwohl Python nach der Veröffentlichung eine echte Basis geschaffen hat, war er in den 1990er Jahren ein Außenseiter unter den YaP. Laut Van Rossum kämpften Tcl / Tk und Perl um den ersten Platz, und beide hatten das gleiche Ziel wie Python - Benutzerfreundlichkeit und umfangreiche Funktionen.
"In den 90er Jahren belegte Perl definitiv den ersten Platz in den ersten drei - es war so etwas wie ein 400 kg schwerer Gorilla - und ging dann zu Tcl / Tk, und Python belegte einen bescheidenen dritten Platz", sagt er.
Laut aktiven Entwicklern wächst Python heute schneller als alle anderen PLs - dies geht aus der jährlichen Umfrage unter Entwicklern von Stack Overflow hervor, einer der umfassendsten Überprüfungen von PLs - und Perl ist auf einen solchen Zustand geschrumpft, dass es im letzten Bericht nicht mehr erwähnt wurde.
Dieses explosive Wachstum ist in der folgenden Grafik dargestellt, in der angegeben ist, wie die Anzahl der Aufrufe von Fragen zu Python auf der Stack Overflow-Website schneller gewachsen ist als die Anzahl der Aufrufe von Fragen aus anderen Sprachen.

Wie hat Python seinen langjährigen Rivalen besiegt und wie lässt sich das so unterschiedliche Schicksal der beiden YPs erklären? Van Rossum ist der Ansicht, dass dies insbesondere darauf zurückzuführen ist, wie einfach es ist, eine Codebasis zu pflegen, wenn diese über ein bestimmtes Framework hinausgeht. "Die Leute dachten, Perl sei perfekt, um 10-zeilige Skripte zu schreiben", sagt er. "Wenn Sie jedoch 500 Zeilen Hauptcode und mehrere tausend Zeilen in Bibliotheken haben, ist eine enorme Disziplin erforderlich, damit der Code in Zukunft unterstützt wird." In Python ist der Code auch dann leicht zu lesen und zu warten, wenn Sie nicht über eine solche Disziplin verfügen. "
Diese Eigenschaft von Python, einer Kombination aus einer einfachen Sprache für Anfänger, die gleichzeitig zuverlässig genug ist, um große Anwendungen darauf zu schreiben, führt van Rossum auf seinen anfänglichen Erfolg in den 1990er Jahren zurück.
„Es gab mehrere Entwickler im Internet - der größte Teil dieser Geschichte bezieht sich auf die frühen Stadien der Internetentwicklung -, die immer größere Anwendungen schreiben mussten und die es mochten, dass Sie in Python viel weniger Aufwand betreiben können als mit C, C ++ oder Java. "
Mit der wachsenden Popularität von Python in den 1990er Jahren entdeckte van Rossum, der immer noch bei CWI arbeitet, dass seine Idee ihn immer mehr mit Menschen aus der ganzen Welt verband. „Ich habe etwas getan und es hat mich mit Menschen aus der ganzen Welt verbunden - Menschen aus Australien, den USA und anderen europäischen Ländern. Es hat mir sehr gut gefallen “, sagt er.
Python und Web
Mitte der neunziger Jahre begannen sie, Python auf eine neue Art und Weise zu verwenden, von Skripten über das Aufnehmen und Abspielen von Audio bis hin zu den ersten Überfällen der Sprache auf die Webentwicklung, die am Ende die Hauptfestung der Python sein sollten.
„Einer der großen Bereiche des Sprachgebrauchs war die Webentwicklung, die auch für mich persönlich sehr interessant war“, sagt Van Rossum und fügt hinzu, dass Python zusammen mit Perl- und Befehlszeilenskripten Backend-Skripte auf Webservern erstellt. "Sie könnten dynamische Webseiten erstellen, und dies ist zu einer meiner Lieblingsanwendungen von Python geworden."
Laut Gartner Ryan ist Python aufgrund seiner Beliebtheit in den 90er Jahren eine beliebte Wahl für die schnelle Erstellung leistungsstarker Skripte. "Die Tatsache, dass es sich um eine Skriptsprache mit umfangreichen Funktionen handelte, reduzierte die Eintrittsbarriere für viele Benutzer", sagt er.
Laut Ryan war YP außerdem flexibel genug und so leicht zu erlernen, dass es sehr unterschiedlichen Benutzern mit unterschiedlichen technischen Hintergründen gefiel. „Sysadmins und andere Leute begannen, diese Sprache zu verwenden, um Systeme und Programmierung zu automatisieren, Entwickler aufgrund von Dingen wie funktionaler Programmierung und Klassen mit Vererbung. Perl zum Beispiel hatte weit weniger solche Funktionen, sagt er. „Nachdem die Leute die Sprache kennengelernt hatten und die Lernkurve ziemlich sanft war, erreichten sie sehr schnell ein hohes Maß an Produktivität.“
Bis 1994 hatte Python die Aufmerksamkeit von Michael McLay auf sich gezogen, einem der Führungskräfte des US Bureau of Standards (NBS), das sich nun in das State Institute of Standards and Technology (NIST) verwandelt hat. MacLay erwartete die Liebe von Forschern und Wissenschaftlern zur Python und war daran interessiert, ob NBS-Wissenschaftler die Python verwenden könnten, die laut van Rossum "erhebliche Datenmengen sammelte, aber keine guten Programmierer hatte".
Um die Idee der Verwendung von Python an andere Mitglieder des Büros zu verkaufen, lud Maclay Van Rossum, der noch am CWI in den Niederlanden arbeitete, ein, einige Monate als Gastforscher für NIST zu arbeiten. Dies war der Katalysator für die zukünftige Entwicklung von Python und veränderte das Leben von van Rossum ernsthaft.
Zu dieser Zeit fand das erste Arbeitstreffen der Python-Benutzer in den NBS-Büros statt, bei dem sich van Rossum, Barry Warso und andere erste Python-Enthusiasten trafen, um zu diskutieren, wie sie Python verwenden und welche Hoffnungen sie auf ihre zukünftige Entwicklung haben.
Van Rossum beim ersten Arbeitstreffen von Python-Benutzern zusammen mit Uorso und Roger Masset während der Arbeit mit Uorso bei CNRI.In den NBS-Büros traf van Rossum Bob Kahn, der für seine Rolle bei der Entwicklung einer der wichtigsten Internet-Technologien, des TCP / IP-Protokolls, bekannt ist.
Während des Treffens wurde Van Rossum angeboten, mit Kahn bei der Corporation for State Research Initiatives (CNRI) zusammenzuarbeiten, einer gemeinnützigen Forschungsgruppe aus Virginia, die an der strategischen Entwicklung von Netzwerktechnologien beteiligt war.Als eine Python auf die Notwendigkeit einer neuen Art von PL reagierte, kam das Arbeitsangebot laut van Rossum genau in dem Moment, als er sich über seine Zukunft bei CWI wunderte."CWI war eine akademischere Organisation, sie drängten mich ständig, entweder meine Promotion zu verteidigen oder anderswo Arbeit zu finden", sagt er.„Ich war nicht sehr zufrieden mit der Aussicht auf eine Doktorarbeit im Alter von 35 Jahren. Davor hatte ich auch dank der Python einige andere Möglichkeiten, als ich mich nach mehreren Telefonanrufen und etwas Zeit zum Nachdenken entschied, sie wegzufegen. Aber hier mochte ich die Leute, ich mochte ihren Vorschlag, das Projekt - und ich nutzte den Vorschlag. "Bei CNRI stellte van Rossum viele der Strukturen zusammen, die für die Verwaltung eines Python-YP erforderlich sind, und zwar mit einem Team derselben Sprachbegeisterten. Nachdem van Rossum sich im April 1995 in CNRI niedergelassen hatte, leitete er ein kleines Entwicklerteam, das an der Software Knowbot Programs arbeitete, mobilen Agenten, die für verteilte Computersysteme wie das Internet entwickelt wurden.Das Team arbeitete in der Python-Sprache, und Jeremy Hilton, Roger Masset, Barry Worso, Ken Mannheimer und Fred Drake schlossen sich van Rossum an - alle werden später eine wichtige Rolle in der Python-Community spielen.„Wir haben eine Gruppe von 4 bis 10 Personen, von denen die meisten bei CNRI arbeiteten und die zum Kern der Python-Entwicklung wurden“, sagt Van Rossum.Während van Rossum bei CNRI arbeitete, half ihm dieses Team beim Aufbau von python.org, einem CVS-Server zum Verwalten von Änderungen an der Codebasis und einer Mailingliste für Python Special Interest Groups, Gruppen, die daran arbeiteten, Python Python zu verbessern und zu unterstützen.Die Python-Benutzergemeinschaft ist seit ihrer Veröffentlichung im Jahr 1991 exponentiell gewachsen, und in der zweiten Hälfte des Jahrzehnts hat diese Sprache eine bedeutende Benutzerbasis aus der ganzen Welt angezogen. In dieser Zeit begann die Formalisierung des Sprachmanagements. Die Entwickler gründeten den Vorgänger der Python Software Foundation (PSF), die 2001 erscheinen wird. Mit dem Wachstum der Community wurden zweimal im Jahr Arbeitstreffen zur Sprache, die 1994 begannen, zu größeren jährlichen Veranstaltungen als Ergebnis - in der jährlichen PyCon von PSF, die bis heute stattfindet.Zu Beginn des 21. Jahrhunderts überstieg die Sprache die Fähigkeiten eines jeden Einzelnen, eine große Gemeinschaft spielte eine aktive Rolle bei der Entwicklung der Sprache - ein langer Weg wurde seit dem Sommer 1994 zurückgelegt, als frühe Sprachbenutzer besorgt waren, was mit ihm passieren würde, wenn Guido in einen Bus steigt.Aber van Rossum spielte weiterhin eine Schlüsselrolle und war immer wieder der Kern der Sprache - dies geht aus dem humorvollen Spitznamen des " großmütigen lebenslangen Diktators " (BDFL) hervor, der seit vielen Jahren existiert.„Ich habe es größtenteils geschafft, den Druck für einige Zeit zu bewältigen, und auch Projektmanagementfähigkeiten entwickelt, die es mir ermöglichten, viele Dinge zu delegieren und den Menschen die Kontrolle über ihr eigenes Schicksal zu geben“, sagt van Rossum.Gartners Ryan sagt, es sei nicht ungewöhnlich, dass ein Sprachschöpfer sein Verwalter bleibt, wie Larry Wall mit Perl und Ryan Dahl mit Node.js, aber er stellt klar, dass van Rossum für seine Objektivität beim Umgang mit Python bekannt ist. "Die Richtung der Projektentwicklung und -verwaltung wird von allen als sehr ausgewogen anerkannt", sagt er.Es ist die Offenheit der Entwicklung von Python, die öffentliche Diskussionen der Community und der wichtigsten Entwickler nutzt, die Van Rossum als entscheidenden Faktor für den Erfolg von Python betrachtet.Python-Evolution
In den vergangenen Jahren hat Python gigantische Schritte unternommen, 2008 wurde ein modernisiertes Python 3.0 eingeführt, und kürzlich wurden gravierende Änderungen im Sprachmanagement beschrieben. Sie begannen letztes Jahr, als van Rossum die Führung im BDFL-Post verlor, nachdem die Community einen Vorschlag zur Einführung von Aufgaben in die Sprache in Ausdrücken geteilt hatte, die im Python-Verbesserungsvorschlag PEP572 erörtert wurden .Eine neue Möglichkeit wurde eingeführt, um effizienteren Code zu schreiben, aber van Rossum wurde von den Gegnern der Änderungen ernsthaft kritisiert - einige von ihnen argumentierten, dass seine Verwendung die Lesbarkeit des Codes beeinträchtigen und seine Unterstützung erschweren würde.Van Rossum sagte, er sei es gewohnt, über Innovationen zu streiten, aber in diesem Fall zwangen ihn die Unnachgiebigkeit einiger Verleumdungen und die Art persönlicher Beleidigungen zum Rücktritt.„Ich war enttäuscht über die Tatsache, dass Menschen, die aus technischen Gründen mit dem Vorschlag nicht einverstanden waren, das soziale Netzwerk verließen und anfingen zu schimpfen, dass der Entscheidungsprozess unterbrochen wurde oder dass ich einen schwerwiegenden Fehler machte. Es fühlte sich an, als würden sie mich von hinten angreifen “, sagt er.„In der Vergangenheit war immer klar, dass, wenn eine Sprache geändert oder eine Funktion verbessert werden musste, eine Reihe wichtiger Entwickler zusammenkamen und die Vor- und Nachteile der Innovation diskutierten. Und dann wurde entweder ein expliziter Konsens entwickelt oder alles war nicht so klar, und dann habe ich diesen Vorschlag geprüft und eine Entscheidung getroffen. Und mit PEP572, obwohl der Vorschlag umstritten war, entschied ich, dass ich ihn genehmigen möchte, und die Leute stimmten nicht zu, dass wir nicht zustimmten. Es war kein Aufstand, aber es schien mir, dass ich nicht das Vertrauen einer ausreichenden Anzahl von Schlüsselentwicklern hatte, um weiterarbeiten zu können. "Er glaubt, dass sich der Prozess der Streitbeilegung geändert hat, insbesondere aufgrund der Tatsache, wie viele Menschen heute Python verwenden.„Es geht wahrscheinlich nur darum, wie groß die Python-Community geworden ist. Es ist schwieriger, eine Einigung zu erzielen, da es immer Befürworter gegensätzlicher Standpunkte geben wird, egal was Sie entscheiden. "Anfang dieses Jahres haben die wichtigsten Python-Entwickler - die den CPython-Interpreter unterstützen und aktualisieren - einen Verwaltungsrat ausgewählt, der die Zukunft der Sprache planen soll. Dazu gehörten Van Rossum, Warso und ihre Kollegen Brett Cannon, Carol Willing und Nick Coglan. Laut Worso war diese Änderung notwendig, um die Sprache mit einer so schnell wachsenden Benutzerbasis zu verwalten."Ich denke, Guido schien wirklich die ganze Welt allein auf seinen Schultern zu halten", sagt er. - Es rollte vor 25 Jahren, als die Python-Community viel kleiner und die Sprache kleiner war, aber heute ist es zu viel für eine Person, weißt du? Ich denke, es ist gut für die Gesundheit und die Möglichkeit, an Gemeinschaftsaktionen teilzunehmen. Es war gut, diese Last auf fünf zu verteilen “, sagt Warso.Nach jeder Veröffentlichung der neuen Version von Python werden Neuwahlen in den Regierungsrat stattfinden, die laut Warso den Weg für die nächste Generation von Führungskräften ebnen werden. "Wenn die Python nach 25 Jahren lebt, dann werden es nicht Guido und ich sein, die sie verwalten, verstehen?" Er sagt.Die Organisation des Verwaltungsrates wurde auch von der Community der wichtigsten Entwickler begrüßt. Eine von ihnen, Mariatta Vijaya, sagt, dass diese Aktion ein Schritt in die richtige Richtung zu sein scheint. "Der Regierungsrat ist besser als eine Person, die alle Entscheidungen trifft - das ist zu viel Verantwortung und Belastung", sagt sie. "Dies ist ein gutes Zeichen, und dank dessen wird die Community mehr eingehende Informationen erhalten."
Eine der wichtigsten Entwicklerinnen, Mariatta VigayaZukünftige Python
Obwohl Python weiterhin eine exorbitante Anzahl neuer Benutzer anzieht, sehen einige Mitglieder der Community Schwierigkeiten vor sich und glauben, dass sich die Sprache weiterentwickeln muss, um relevant zu bleiben.
Bei einem Treffen von Python-Nutzern in diesem Jahr warnte BeeWare-Mitbegründer Russell Kit-Maggie alle, dass Python einem „existenziellen Risiko“ ausgesetzt wäre, wenn es die Unterstützung für mobile und neue Webplattformen nicht verbessern würde. "Telefone und Tablets sind so stark in den Markt eingedrungen, dass Desktops und Laptops noch nie davon geträumt haben, und die Community hat keine Ahnung, wie Python auf diesen Geräten verwendet werden soll", sagte er und gab an, dass sein Sohn benutzt ein iPad in der Schule. "Was passiert mit Python, wenn sich Laptops als Nischengeräte herausstellen?"
Kit-Maggi, dessen BeeWare-Projekt darauf abzielt, das Programm einmal in Python irgendwo auszuführen, hat eine Liste von Problemen veröffentlicht, die Python jetzt im Bereich der Unterstützung anderer Plattformen als Standard-x86-PCs hat.
Er wies auf die folgenden Schwachstellen hin: die Notwendigkeit, die Unterstützung für kompilierten Code für neue Plattformen zu verbessern, die nicht mit x86 kompatibel sind; Die Python-Testsuite stürzt auf Mobil- und Webplattformen ab. Die Installationsgröße von Python-Anwendungen ist aufgebläht und kann nicht auf eine kleine Teilmenge von Abhängigkeiten reduziert werden. die Notwendigkeit, Anstrengungen zur Fertigstellung der Asyncio-Bibliothek zu unternehmen, um mit der GUI für Android, Windows und das Web zu arbeiten; Die Anzahl der Module in der Standardbibliothek, die mit anderen Python-Interpreten als CPython nicht kompatibel sind.
Laut Uorso sagt Kit-Maggie das Richtige und berücksichtigt wichtige Probleme im Zusammenhang mit der Aktualisierung von Python für neue Plattformen - Telefone, Tablets, neue Webtechnologien wie WebAssembly.
"Bisher kann Python nichts Gutes bieten", sagt Warso über den Traum, eine Anwendung für iPhone oder Android herunterladen zu können, und "nicht einmal zu wissen, dass sie in Python geschrieben ist."
Mit der wachsenden Anzahl von Prozessorkernen in modernen Chips (bis zu 48 Kerne in den neuesten Serverprozessoren von Intel) freut sich Uorso auch darauf, wenn Python Aufgaben besser auf mehrere Kerne verteilen kann.
Er ist sehr interessiert an dem Potenzial von Eric Snow's Arbeit an Subinterpretern und wie sie die Fähigkeiten von Python im gleichzeitigen Betrieb von Prozessen erweitern können. "Ich würde wirklich gerne mehr daran arbeiten, Multicore-Systeme voll auszunutzen", sagt er.
Snow arbeitet an einem langfristigen Projekt, das es Python erleichtert, Aufgaben effizient auf mehrere Prozessorkerne aufzuteilen. Gleichzeitig konzentrierte er sich darauf, eine überarbeitete Version eines so interessanten Python-Features als Subinterpreter zu verwenden und die Interaktion jedes Subinterpreters mit dem Global Interpreter Blocker (GIL) zu ändern.
"Für Python 3.8 wird es keine Zeit haben, sich fertig zu machen, vielleicht wird es in Version 3.9 sein", sagt Worso. "Ich denke, wir werden das in den nächsten zweieinhalb Jahren sehen." Ich bin optimistisch. Ich bin sehr froh, dass Eric weiter daran arbeitet, weil ich es für wichtig halte. "
Er sagt, dass Sie selbst aus fehlgeschlagenen Projekten, die Multithread-Python unterstützen, wie beispielsweise The Gilectomy, interessante Lektionen darüber lernen können, wie Python besser werden kann, indem Sie die Arbeit auf die Kernel verteilen.
Die Python-Community unternimmt auch Schritte, um die Standard-Sprachbibliothek mit eingebettetem Code zu aktualisieren, und hat kürzlich einen Vorschlag veröffentlicht, veraltete Module daraus zu entfernen. Dies ist eine Antwort auf die jüngste Kritik am Status der Python-Standardbibliothek. Es wird normalerweise als eine der Stärken der Sprache angesehen. Es kann verwendet werden, um eine Vielzahl gewöhnlicher Aufgaben zu lösen. Daher wird oft gesagt, dass Python „Batterien im Set“ hat. Bei einem Treffen der Python-Entwickler in diesem Jahr wurde jedoch die Frage gestellt, ob es besser wäre, die Benutzer Bibliotheken aus dem PyPI-Repository auswählen zu lassen, anstatt all diese Funktionen zusammen mit der Sprache als Standardbibliothek bereitzustellen.
Es gab auch Fragen, ob die Gruppe von Personen, die die Entwicklung der Sprache verwalten - Schlüsselentwickler und der Regierungsrat - die vielfältige Python-Nutzerbasis im Jahr 2019 besser widerspiegeln könnte. „Ich würde gerne die beste Anzeige für eine Vielzahl von Metriken sehen, nicht nur in Bezug auf die Ausgewogenheit der Geschlechter, sondern auch nach Rasse und allem anderen“, sagt Vijaya.
„Ich habe auf der PyCon mit Mädchen aus der
PyLadies- Band aus Indien und Afrika gesprochen. Sie sagten: „Wenn Menschen von Python oder PyLadies hören, stellen sie sich Menschen aus Nordamerika oder Kanada vor, aber in Wirklichkeit gibt es in anderen Teilen der Welt auch eine umfangreiche Benutzerbasis. Warum werden sie so selten gesehen? ' Und das erscheint mir vernünftig. Deshalb würde ich das gerne sehen und ich denke, dass wir alle daran teilnehmen sollten. “
Trotz der humorvollen Idee mit einem „großzügigen Diktator“, der für alle Themen zuständig ist, sind in den letzten Jahren alle Ideen, die Python verändert haben, aus der Community gekommen, sagt Worso, dank Menschen, die Python maximal nutzen und Türen für neue Benutzer öffnen. "In Wirklichkeit geschieht alles von unten nach oben, von der Seite der Gemeinschaft und nicht umgekehrt", sagt er.
Als Beispiel dafür, wie einfache Community-Projekte Python ernsthaft beeinflussen können, ist Type Hints eine Funktion von Python 3.5, die von dem
mypy- Projekt inspiriert wurde, das der Doktorand 2012 gestartet hat. Diese "Hinweise" ermöglichen eine optionale Typprüfung, mit der Entwickler Fehler eines bestimmten Typs abfangen können, die ihnen sonst möglicherweise entgangen wären.
In diesem Jahr half Python dabei, das erste Bild eines Schwarzen Lochs aus Stücken zusammenzustellenDiese zusätzliche Sicherheitsstufe ist nicht nur eine interessante Gelegenheit, wenn Sie ein Projekt haben, in dem viele Leute an einer großen Codebasis arbeiten. Ein zusätzliches Verständnis dafür, was Code tun sollte und was nicht, kann entscheidend sein.
„Die Tatsache, dass der Python auf diese Weise für die Anforderungen größerer Unternehmen skaliert werden kann - wie beispielsweise Instagram, das im Wesentlichen auf Python 3 ausgeführt wird - ist für mich einfach von unschätzbarem Wert“,
zitiert Worso Asyncio als weiteres Beispiel für die Idee Eine Community, die die Sprachfähigkeiten ernsthaft beeinträchtigen kann.
Mit dem Verwaltungsrat und der größten Nutzerbasis aller Zeiten ist Van Rossum optimistisch, dass die „Sprachentwicklung durch die Community“ weiterhin „unglaubliche Erfolge“ erzielen wird.
„Wir haben eine sehr dichte Community von Schlüsselentwicklern, die über ein neues Regierungssystem verfügen, und ich denke, wir sind besser auf die Anforderungen vorbereitet, die mit Python und seiner Entwicklung einhergehen“, lobt er das tiefe Verständnis der spezifischen Aspekte der vorhandenen Sprache in der Gemeinde.
Wenn jemand Zweifel an der Fähigkeit der Community hat, unerwartete neue Wege zur Verwendung der Sprache zu finden, müssen Sie nur die Rolle von Python untersuchen, um das erste Bild eines Schwarzen Lochs zu erhalten, sagt Worso.
„Es hat mich einfach umgehauen. Es gibt ein paar Leute in der Python-Community, die ich als unsere verrückten Wissenschaftler betrachte. Sie versuchen immer, die Grenzen der Sprache zu überschreiten. “