【发布时间】:2017-09-26 02:40:09
【问题描述】:
由于大多数编程语言都是图灵完备的,用一种编程语言编写的程序可以用另一种编程语言解决。为什么没有自动翻译工具将用一种语言(例如 C++)编写的程序转换为其他编程语言(例如 Java)?
【问题讨论】:
-
这是一个非常病态的问题(没有唯一的解决方案),并且在使用额外的约束时可能会变得 NP-hard(甚至可能是无约束的情况)。这只是一种理论观点,忽略了垃圾收集与无垃圾收集之类的差异(这可能会限制行为 A -> 行为 B 转换与结果 A -> 结果B 相对)。
-
我们称它们为“编译器”,例如Kaffee 任务可以用 Javascript 解决,也可以用 x86 解决 C++ 任务。
标签: machine-learning automation build-automation