Anfang Juni hielt Guido van Rossum, der Vater von Python, auf der heutigen PyCon US-Konferenz eine Rede mit dem Titel „Python Language“. Kürzlich nahm er ein Interview mit dem IT-Medium Infoworld an und sprach über die Zukunft von Python. Werfen wir einen Blick darauf, was Pater Guido über die Zukunft von Python denkt.
Die Anwendung von Python im Bereich Mobile Computing
Guido: Mobile ist immer noch eine schwierige Plattform für Python, aber nicht so schwierig wie die Browserplattform, da Python tatsächlich ausgeführt werden kann auf Smartphones aller Marken. Sie müssen nur jemanden finden, der weiß, wie man eine mobile Version von Python erstellt.
Standard-CPython-Quellcode kann fast in Binärdateien kompiliert werden, die auf Android- und Apple-Telefonen ausgeführt werden können. Es gibt viele Leute, die hart in diesem Bereich arbeiten und ständig Patch-Pakete beisteuern. Aber der Fortschritt war langsamer, als ich es mir gewünscht hätte. Andererseits entwickle ich selbst keine mobilen Apps und habe daher nicht viel Motivation, mich selbst zu engagieren. Aber ich würde gerne Fortschritte dabei sehen.
Python ersetzt JavaScript?
Guido: Das ist nicht unser Ziel. Aufgrund der strukturellen Probleme der Browserplattform ist es für uns schwierig, mit JavaScript zu konkurrieren. Wir können Python höchstens in JavaScript übersetzen. Normalerweise laufen übersetzte Programme jedoch langsamer als native Python-Programme und langsamer als ähnliche, in JavaScript geschriebene Programme. Jetzt versuchen einige Leute, Python in JavaScript zu übersetzen und Python im Browser auszuführen.
Gedanken zu WebAssembly
Dies könnte es ermöglichen, Python im Browser auszuführen. Wenn es asm.js ersetzt, bedeutet das im Grunde, dass JavaScript nicht mehr die einzige auf der Webplattform verwendete Sprache ist, sondern zu etwas wird, das der Assemblersprache ähnelt. Dies ist ein bisschen wie Python. Der zugrunde liegende Python-Interpreter des von Ihnen geschriebenen Python-Codes ist tatsächlich in der Sprache C geschrieben. Bei der Kompilierung wird der Python-Code in Maschinencode übersetzt, wobei auch eine Art Assemblersprache beteiligt ist.
Wenn wir JavaScript in Browsern nicht töten können, können wir JavaScript möglicherweise zum universellen Übersetzungsobjekt für jede Sprache machen, die in einem Browser ausgeführt werden möchte. In diesem Fall können möglicherweise Python und andere Sprachen wie Ruby und PHP effizient in das zugrunde liegende JavaScript übersetzt werden.
WebAssembly ist tatsächlich eine Chance für Python-Entwickler. Ich glaube, dass es eine Testphase geben wird, in der diejenigen, die Entwicklungstools bevorzugen, die Möglichkeit haben, herauszufinden, wie man Python am besten auf WebAssembly ausführen kann. Nachdem ihr Experiment erfolgreich war und sie damit begannen, es zu bewerben, können wir den Python-Entwicklern sagen: „Sie können jetzt Browser-Client-Apps in Python schreiben.“ Aber jetzt ist nicht der richtige Zeitpunkt.
Python-Leistungsverbesserungen
Guido: Die Leistung von Python 3 hat aufgeholt und ist viel schneller als im Jahr 2012. Alternativ gibt es Python-Implementierungen wie PyPy. Es gibt einige neue Versionen des Python-Interpreters, die ebenfalls versuchen, die Geschwindigkeit zu verbessern.
Tatsächlich ist die Leistung von Python nicht so schlecht, wie die Leute sagen, und da Python größtenteils in der C-Sprache implementiert ist, können viele Dinge so schnell wie in der C-Sprache erledigt werden. Ich denke immer noch, dass Python für die meisten Dinge schnell genug ist.
Obwohl es in Python 3 keine neuen Funktionen zur Verbesserung der Geschwindigkeit gibt, haben wir viele Aspekte der Sprache schneller gemacht: Beispielsweise ist die Referenzzählung schneller als zuvor. Das Wichtigste ist, den vorhandenen Code zu optimieren, aber als Benutzer ist es schwierig, den Unterschied zu bemerken.
Und wenn Sie ein Python-Programm dringend beschleunigen müssen, können Sie PyPy ausprobieren. Es ist ausgereift genug, um einen Versuch wert zu sein.
Warum ist Python beliebt?
Guido: Vor allem, weil es einfach zu erlernen und zu verwenden ist, die Community offen ist und die Entwickler aktiv und hilfsbereit sind.
Wie verläuft die Python-Entwicklung derzeit und in Zukunft? Was ist der Plan?
Guido: Derzeit und in den letzten etwa fünf Jahren treiben vor allem andere Leute die Entwicklung von Python voran. Gelegentlich gebe ich Hinweise dazu, ob eine neue Idee es wert ist, angenommen zu werden, normalerweise beim Entwerfen, um eine neue Syntax hinzuzufügen. Ich mische mich selten ein, wenn es um die Entwicklung von Standardbibliotheken geht. Manchmal muss ich alle bitten, mit Diskussionen und Kompromissen aufzuhören.
Meine Idee ist es, die Gemeinschaft selbsttragend zu machen, damit ich irgendwann in den Ruhestand gehen oder zumindest einen längeren Urlaub machen kann. Ich hoffe, dass diese Sprache in Zukunft neue Ideen aus anderen Sprachen oder anderen Bereichen aufnehmen wird.
Abschließend möchte ich über SciPy und NumPy sprechen. Diese beiden Teams fördern den Einsatz von Python als Alternative zu Matlab. Unsere Alternativen sind Open Source und besser, sie können es. Sie bringen Python in Bereiche, die ich mir nie hätte vorstellen können. Sie haben Dinge wie Jupyter Notebooks für die Verwendung von interaktivem Python im Browser entwickelt.