Автоматический перевод с Python на Java [закрыт]
-
03-07-2019 - |
Вопрос
Есть ли какой-нибудь инструмент, который может автоматически конвертировать Python в Java?Может ли Jython сделать это?
Решение
Это может оказаться непростой проблемой.Определение того, как сопоставить классы, определенные в Python, с типами в Java, будет большой проблемой из-за различий во времени привязки каждого типа.(утиный набор текста противпривязка ко времени компиляции).
Другие советы
На самом деле, это может сильно помочь, а может и нет, но вы могли бы написать скрипт, который создал класс Java для каждого класса Python, включая заглушки методов, поместив реализацию метода Python внутри Javadoc
На самом деле, это, вероятно, довольно легко сделать в Python.
Я работал в компании, которая осуществила перенос на Java огромной системы Smalltalk (аналогичной Python), и это именно то, что они сделали.Заполнение методик было ручным, но бесценным, потому что это заставляло вас по-настоящему задуматься о том, что происходит.Я сомневаюсь, что метод грубой силы приведет к хорошему коду.
Вот еще одна возможность:можете ли вы проще преобразовать ваш Python в Jython?Jython - это просто Python для JVM.Возможно, можно использовать Java-декомпилятор (напримерJAD), чтобы затем преобразовать байт-код обратно в Java-код (или вы можете просто захотеть запустить на JVM).Однако я не уверен в этом, возможно, у кого-то другого была бы идея получше.
Да, Jython делает это, но это может быть или не быть тем, что вы хотите
чтобы прояснить ваш вопрос:
Из исходного кода Python в исходный код Java?(Я так не думаю)
..или из исходного кода Python в байт-код Java?(Jython делает это под капотом)