Unholy
Ein Ruby nach Python-Bytecode Compiler: http://github.com/why/unholy/tree/master
Möge uns diese von der großen Schlange verliehene Waffe helfen, die armen verirrten Entwickler, welche hilflos und getrieben dem Edelstein nachjagen, zur wahren Einsicht zu bekehren und in die Obhut der Schlange zurückzuführen. Amen!
Edit: Smilie vergessen. (Nicht, dass mir hier noch jemand religiöse oder "programmiersprachliche" Intoleranz unterstellt. Und ja, ich mag Schnabeltiere )
Edit: Smilie vergessen. (Nicht, dass mir hier noch jemand religiöse oder "programmiersprachliche" Intoleranz unterstellt. Und ja, ich mag Schnabeltiere )
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, ich habs schon gesehen (reddit), das Announcement (_whys Blog) und den Rant (Fefes Blog). Es ist sicher nichts weltbewegendes, aber eben typisch _why, eben eine recht kranke Idee
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
So krank finde ich das nicht. Im Gegenteil: Cooles Projekt. Nachteil ist höchstens, dass Python-Bytecodes ein unterspezifiziertes "moving target" sind - andererseits sollte ein Ruby-Entwickler damit kein Problem haben, schließlich gilt das für seine ganze Programmiersprache ;)Leonidas hat geschrieben:eben eine recht kranke Idee :D
Whys Projekt hat mich auf die Idee gebracht, dass für Java zu probieren, nur um festzustellen, dass es mit javaclass bereits ein (wohl 2006 eingeschlafenes) Projekt gibt, in class files vorliegende Java-Programme in Python zu laden und auszuführen. Lesen eines class files geht da in ~600 Zeilen Python, dazu kommen ~2400 Zeilen, den Java-Bytecode in Python-Bytecode zu kompilieren. Die zugehörige Java-Bibliothek ist aber rudimentär und darin läge nochmals sehr viel Arbeit.
Mein erster Gedanke wäre ja gewesen, eine Java-VM in Python zu schreiben und nicht direkt Python-Bytecode zu erzeugen. Das wäre zwar noch langsamer, aber vielleicht einfacher. Viele der 201 Instruktionen sind recht einfach, kompliziert ist IMHO nur das Exception-Handling...
Stefan
Es musste ja passieren: http://code.google.com/p/java2python/
Bezeichnenderweise in Python geschrieben und nicht in Java. Obwohl, Java wäre vielleicht sogar einfacher gewesen, hätte man sich an den in z.B. Eclipse verfügbaren AST gehängt. Im Prinzip müsste man dort dann nur noch einen neuen ASTVisitor mit den passenden "print"-Methoden schreiben. Jetzt hat der Autor da ca. 50k ANTLR-Code. Was ich da auch irritiert ist, dass der Parser von Java 1.3 spricht - keine generischen Typen?! Looser :)
Schlauer wäre IMHO, Java-Bytecode zu transformieren. Must Resist the Urge...
Stefan
Bezeichnenderweise in Python geschrieben und nicht in Java. Obwohl, Java wäre vielleicht sogar einfacher gewesen, hätte man sich an den in z.B. Eclipse verfügbaren AST gehängt. Im Prinzip müsste man dort dann nur noch einen neuen ASTVisitor mit den passenden "print"-Methoden schreiben. Jetzt hat der Autor da ca. 50k ANTLR-Code. Was ich da auch irritiert ist, dass der Parser von Java 1.3 spricht - keine generischen Typen?! Looser :)
Schlauer wäre IMHO, Java-Bytecode zu transformieren. Must Resist the Urge...
Stefan