Geautomatiseerde vertaling van Python naar Java

Is er een tool die Python automatisch naar Java kan converteren?
Kan Jython dit?


Antwoord 1, autoriteit 100%

Het is misschien geen gemakkelijk probleem.
Bepalen hoe klassen die in Python zijn gedefinieerd in typen in Java moeten worden toegewezen, zal een grote uitdaging zijn vanwege de verschillen in de bindingstijd van elk type. (eend typen vs. compileertijd binding).


Antwoord 2, autoriteit 94%

Eigenlijk kan dit al dan niet veel helpen, maar je zou een script kunnen schrijven dat een Java-klasse voor elke Python-klasse heeft gemaakt, inclusief methodestubs, en de Python-implementatie van de methode in de Javadoc plaatst

In feite is dit waarschijnlijk vrij eenvoudig te verzinnen in Python.

Ik werkte voor een bedrijf dat een port naar Java van een enorm Smalltalk (vergelijkbaar met Python) systeem ondernam en dit is precies wat ze deden. Het invullen van de methoden was handmatig, maar van onschatbare waarde, omdat je echt moest nadenken over wat er aan de hand was. Ik betwijfel of een brute-force methode zou resulteren in mooie code.

Hier is nog een mogelijkheid: kun je je Python gemakkelijker naar Jython converteren? Jython is gewoon Python voor de JVM. Het kan mogelijk zijn om een Java-decompiler (bijv. JAD) te gebruiken om de bytecode vervolgens weer om te zetten in Java-code (of misschien wilt u gewoon op een JVM draaien). Ik weet dit echter niet zeker, misschien heeft iemand anders een beter idee.


Antwoord 3, autoriteit 50%

Ja, Jython doet dit, maar het kan wel of niet zijn wat je wilt


Antwoord 4, autoriteit 12%

om uw vraag te verduidelijken:

Van Python-broncode naar Java-broncode? (Ik denk het niet)

.. of van Python-broncode naar Java Bytecode? (Jython doet dit onder de motorkap)

Other episodes