Seite 1 von 1

Jython?

Verfasst: Freitag 12. September 2008, 22:37
von Crazed
Hallo,
Ihr habt sicher alle schonmal von Jython gehört und Jython vielleicht auch schon benutzt. Da ich mich nicht sonderlich hervorragend in Java auskenne und die Prinzipien dahinter frage ich einfach mal:

Wenn ich z.b mit Jython eine Python datei wie folgende:

Code: Alles auswählen

import mechanize
import BeautifulSoup

x = mechanize.Browser()
print x.open('http://www.google.de').read()
zu einer *.class Datei kompiliere (<- Ist das java bytecode?) Kann ich dann den Code auf jeder Maschine ausführen die Java installiert hat? Ich meine mein kompletter Python Code inklusive den Modulen muss dann ja zu Java Bytecode kompiliert worden sein.

Ich wollte das ursprünglich auch nur wissen weil ich für meinen Lieblingsfeedreader RSSOwl 1-2 Plugins schreiben wollte, und da dieser ja in Java geschrieben ist, und wie die Entwickler sagen unterstützt einfach *.java class Files als Plugins zu laden, warum dann nicht mit Jython?

Ich kann mir das aber irgendwie nicht vorstellen, das wäre ja "genial" ^^. Einfach Python Code nehmen zu Javabytecode kompilieren und auf jeder Java maschine laufen lassen...

MfG,
CracKPod

Ich wäre sehr froh über ein wenig Aufklärung.

Verfasst: Freitag 12. September 2008, 22:45
von audax
Du musst nur "Jython" mitliefern...

Verfasst: Freitag 12. September 2008, 23:20
von Crazed
audax hat geschrieben:Du musst nur "Jython" mitliefern...
Tut mir Leid, verstehe ich nicht. Wenn ich das vorher zu Java Code kompiliere dann sollte es doch auch ohne Jython laufen?

Verfasst: Freitag 12. September 2008, 23:56
von Leonidas
Interessant könnte wohl die jythonc-Dokumentation sein.

Und ja, in Class-Dateien ist Bytecode für die JVM drin.

Verfasst: Samstag 13. September 2008, 06:44
von BlackJack
@Crazed: Es wird ja nur der Code, den Du zu Bytecode kompilierst in die `*.class` geschrieben. Da ist aber nicht die Python-Laufzeitumgebung enthalten. So Sachen wie `object`, `int`, der Code für ``print`` usw. muss ja auch irgend wo herkommen. Und natürlich die Standardbibliothek bzw. der Teil davon, den Jython mit liefert.