自动化Python到Java的翻译
有没有什么工具可以自动把Python代码转换成Java代码?Jython能做到这一点吗?
4 个回答
4
是的,Jython可以做到这一点,不过这可能不是你想要的结果。
15
其实,这个建议可能对你帮助不大,但你可以写一个脚本,为每个Python类创建一个Java类,包括方法的空壳,然后把Python实现的方法放在Javadoc里面。
实际上,这在Python中可能很容易实现。
我曾经在一家公司工作,他们把一个庞大的Smalltalk(和Python有点像)系统移植到Java上,这正是他们所做的。填充方法的过程是手动的,但非常重要,因为这让你真正思考发生了什么。我怀疑单纯的粗暴方法会产生好的代码。
还有一种可能性:你能更容易地把Python转换成Jython吗?Jython就是在Java虚拟机上的Python。也许可以使用Java反编译工具(比如JAD)把字节码再转换回Java代码(或者你可能只是想在Java虚拟机上运行)。不过我对此不太确定,也许其他人会有更好的主意。
8
这可能不是个简单的问题。
把在Python中定义的类映射到Java中的类型会是个大挑战,因为两者在类型绑定的时间上有很大的不同。(Python用的是鸭子类型,而Java则是在编译时绑定类型。)