Pypyjs: Python-Interpreter auf Javascript portiert
Es ist nur ein Experiment und soll es wahrscheinlich auch bleiben - dennoch zeigt die Javascript-Portierung des Python-Interpreters Pypy, was mit aktuellen Webtechniken möglich ist.

Viele Programmiersprachen sind deutlich besser geeignet als Python, um Webanwendungen zu erstellen. Dank einer Javascript-Portierung des in Python geschriebenen Python-Interpreters Pypy, lässt sich nun aber damit experimentieren. Eine tatsächliche Einsatzreife wird Pypyjs wohl zwar nicht erreichen, das scheint aber auch nicht das Ziel des Projekts zu sein.
Das wird auch aus der Eigenbeschreibung auf Github deutlich: "Pypy, kompiliert in Javascript, JIT-kompiliert (Python) nach Javascript zur Laufzeit, warum auch nicht". Eine technisch etwas detailliertere Beschreibung zur Funktionsweise und dem Aufbau des Projekts bietet Pypyjs aber ebenfalls.
Demnach handelt es sich dabei um eine angepasste Version von Pypy mit einigen Erweiterungen. Diese umfassen etwa eine Build-Umgebung, die dafür sorgt, dass die Rpython-Toolchain aus Pypy auch mittels Emscripten kompilieren kann. Dazu kommt ein JIT-Backend, das Asm.js zur Laufzeit erzeugt. Ein Javascript-Modul für den dabei entstehenden Interpreter ermöglicht eine Interaktion mit der Javascript-Umgebung, welche als Host genutzt wird.
Außerdem gibt es einen Wrapper, der die kompilierte VM im Browser laden kann und den Zugriff auf diese über eine API erlaubt, sowie ein Skript, um verschiedene Python-Module über ein indiziertes Format ebenfalls laden zu können. Der relativ komplexe Code ist ziemlich groß, so dass das Laden im Browser einige Zeit benötigt. Mit einfachem Python-Code scheint der Interpreter aber keine Probleme zu haben.
Erstellt worden ist Pypyjs von dem Mozilla-Angestellten Ryan Kelly, den Status eines Hobbyprojekts wird es wohl aber nie verlassen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Das Problem ist, dass man zum pingen root rechte benötigt, deswegen hat auch der Ping...
Ursprünglich von Ansi-C und C++ kommend, habe ich das bei einer Javascript-Weiterbildung...
Einspruch. Ich blocke js standardmässig und muss nur selten Ausnahmen zulassen.
Ich glaube das Kernproblem in der heutigen Webentwicklung ist, dass der durchschnittliche...