Py Py
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Dies ist eine Implementierung von Python in Python selbst. Ziel ist einerseits die völlige Loslösung von C, in dem heute der "eigentliche" Python-Interpreter implementiert ist, gleichzeitig aber auch die Generierung von C- und Maschinencode zur Laufzeit eines PyPy-Programmes. Letzteres soll z.B. durch Spezialisierungstechniken von Psyco erreicht werden.

Klappt alles, dann bekommt man ein Python, dessen Kern wesentlich kleiner und das insgesamt weit flexibler und modularer ist als das "normale" Python. Damit ließe sich z.B. Software für sehr kleine Geräte (embedded devices) in einer portablen Hochsprache entwickeln und auch einfacher auf mehrere CPUs verteilen, ob im selben oder auf verschiedenen Rechnern. Weitere Möglichkeiten findet man im OSCON-Bericht unten.

Das Projekt wurde erst Anfang 2003 begonnen und ist dementsprechend noch lange nicht fertig, aber extrem vielversprechend. Einen funktionierenden Interpreter, wenn auch auf einer Untermenge von Python, existiert bereits.

Diskussion

Frage: Wozu? Ist das nur ein interessante sportliche Herausforderung oder hat es einen praktischen Zweck?

Dazu gibt es Antworten in comp.lang.ruby, unter dem Thread Ruby in Ruby. Auch Ruby-Fans würden liebend gerne den Anteil Ruby-Code im Interpreter erhöhen. Es gibt einige Vorbilder: Ein Lisp-Interpreter in SpracheLisp oder SqueakSmalltalk, dessen Interpreter in einer einfach nach C übersetzbaren Untermenge von SpracheSmalltalk geschrieben ist.

Die Gründe sind z. T. ähnlich wie bei der Frage nach der IDE. Die IDE von VisualWorks oder der Smalltalk RefactoringBrowser sind in Smalltalk geschrieben. Sicher betrachten es Java-Jünger als Vorteil, dass Eclipse in SpracheJava programmiert ist. Ein Vorteil ist offensichtlich: Ich brauche zur Verbesserung und Fehlersuche nur noch in einer Sprache fit zu sein und kann zum Debuggen meiner Anwendung die gleichen Werkzeuge verwenden wie zur Analyse des Entwicklungs- oder Laufzeitsystems.

Warum gibt es jedoch Leute, die GUI-Toolkits nicht direkt, sondern über ein Binding zu einer Skriptsprache verwenden? Warum ist ein Großteil des Emacs in Lisp geschrieben, warum ist die Skriptsprache von Word nicht C#? Weil Skriptsprachen i. d. R. einfacher zu handhaben sind. So wie ein Ruby-Programmierer laufzeitkritische Routinen in C-Module auslagert, kann umgekehrt ein C++-Entwickler die GUI als für die Laufzeit unkritische Komponente betrachten und sich durch das Auslagern mehr Entwicklungskomfort durch den wegfallenden Compile- und Linkzyklus erkaufen. --SaschaDördelmann


KategoriePython
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 22. Oktober 2003 13:46 (diff))
Suchbegriff: gesucht wird
im Titel
im Text