Seite 1 von 1
Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 16:29
von zegru
Ich suche einen einfachen Konverter von Java nach Python3.
Ich habe schon gesucht, und es gibt wohl Online-Konvertierer, was ich nicht will, und
https://github.com/natural/java2python, was nur Python2 unterstützt (aber ich nicht

).
Ich suche übrigens kein Tool, das ausführbaren Python-Code generiert, sondern einem erst mal die langwierige und stupide Übersetzungsarbeit abnimmt, und in Schritt 2 komme dann ich zum Zug.
Re: Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 16:31
von __deets__
ChatGPT? Halte ich dabei ausnahmsweise mall für so halbwegs sinnvoll. Und sonst nimm doch den Python 2 und dann 2to3, um das in 3 zu wandeln.
Re: Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 18:16
von nezzcarth
zegru hat geschrieben: Mittwoch 18. Oktober 2023, 16:29
Ich suche übrigens kein Tool, das ausführbaren Python-Code generiert, sondern einem erst mal die langwierige und stupide Übersetzungsarbeit abnimmt, und in Schritt 2 komme dann ich zum Zug.
Ich kenne natürlich die Ausgangscodebasis nicht, aber so allgemein würde ich möchte zu bedenken geben, dass "stupide Übersetzungsarbeit" hier weniger vielleicht weniger angesagt ist, wenn idiomatisches Python dabei herauskommen soll. Es kann in Einzelfällen natürlich angemessen sein, aber man kann hier im Forum in zahlreichen Threads bestaunen, wie das aussieht, wenn man Java in Python programmiert.
Re: Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 20:23
von zegru
Das Problem mit ChatGPT ist, dass es lediglich online verfügbar ist und nicht offline. Letzteres ist mir aber wesentlich lieber.
Das Problem mit dem Python2 Konverter ist, dass er nicht nur Python2 Code erzeugt (damit könnte ich leben), sondern dass er unter Python2 läuft. Und zum Konvertieren braucht er diverse Libraries in einer uralten Version, die von meiner Betriebssystem-Distribution gar nicht mehr angeboten werden (Ubuntu).
Und das Umwandeln in idiomatisches Python wäre dann eben Schritt 2. Erst mal soll der Dschungel automatisch umgewandelt werden, dann kommt der Feinschliff in Handarbeit.
Was schön wäre: Ich habe ein Verzeichnis mit dem Java-Code, da lasse ich dann das Tool drüber laufen, dann bekomme ich pythonartigen Code, ich werfe mein Hirn und den Editor an, und nach einiger Zeit bekomme ich ausführbaren und korrekten Code, der hoffentlich sogar pythonic ist.
Re: Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 20:54
von __deets__
Vielleicht geht da was mit Docker für die alten Versionen.
Re: Gibt es einen Kommandozeilen Java nach Python Konvertierer?
Verfasst: Mittwoch 18. Oktober 2023, 21:46
von nezzcarth
Das genannte Tool lässt sich bei mir über pyenv (Python 2.7.3) und dem hier verlinkten
https://pypi.org/project/antlr_python_runtime/ Paket Problem zum Laufen bringen; d.h. ich konnte das Konvertierungsbeispiel aus der README replizieren.
Ich möchte aber noch mal anmerken, dass ich eher skeptisch bin, dass das ein zielführender Ansatz ist und da etwas bei herauskommt, das sich lohnt, "fein geschliffen" zu werden. Wenn du zum Beispiel ein Projekt hast, das irgendwelche Design-Patterns verwendet, die in Java gängig sind, die man in idiomatischem Python aber nicht oder zumindest nicht so verwendet, bestimmt das ggf. die Struktur des Codes unter Umständen recht fundamental, so dass ein einfacher Transpiler da wenig ausrichten kann, weil eine händische Konvertierung nach Python "komplett" anders aussehen würde.