Gibt es einen Kommandozeilen Java nach Python Konvertierer?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
zegru
User
Beiträge: 60
Registriert: Freitag 9. Oktober 2020, 09:22

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.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

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.
zegru
User
Beiträge: 60
Registriert: Freitag 9. Oktober 2020, 09:22

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.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Vielleicht geht da was mit Docker für die alten Versionen.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

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.
Antworten