自动源翻译是否有益和/或必要?

8 translation

我最近花了几年时间将遗留的FORTRAN翻译成Java.在此之前,我发现自己将FORTRAN翻译成C(我为此编写了一个简单的翻译工具).在完成所有这些工作后,我发现自己想知道有多少人正在进行类似的语言到语言的翻译,以及这样做的自动化方式是否有益.

我知道F2C,For_C,F2J和其他人,以及一些翻译网站,但似乎没有一个成功.看过For_C的输出后,我可以看出为什么它还没有起飞.虽然技术上是正确的,但很难维护.

所以,我想我想知道的是,是否有工具可以产生比我看到的代码更易于维护,更易于理解的代码,开发人员会使用它吗?或者开发人员是否厌倦,因为许多帖子似乎表明并且不愿意使用生成的代码,因为它永远不会像他们手动翻译的代码一样好?

And*_*ula 1

简而言之,不。显然,有时时间限制是必要的,但是......

用一种语言编写的代码很少能很好地转换为另一种语言 - 每种语言都有某些更适合可用结构/公共库/等的做事方式。

例如,考虑一下用 C 编写的程序与用 Python 编写的程序相比 - 当然,您可以像在 C 中一样轻松地在 Python 中编写 for 循环和迭代,但使用列表推导式并利用它要简单得多该语言提供的功能。

我会惊讶地看到一个用任何语言编写的合理大小的程序的例子,可以翻译成任何其他语言的“正确”、易于维护的代码。