我有一个中等大小的遗留ISO prolog应用程序,我想将其迁移到基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,执行一些评估/转换,然后导出基于文本的文件。
我的团队主要用Java开发,所以我们有很多现有的java能力和可重用的组件。然而,Prolog的能力非常低。
我不期望有一种工具可以将prolog源代码转换成其他语言。但我正在尝试理解什么是最简单的解决方案。是用Java从头开始还是用Clojure这样的函数式语言?
发布于 2014-01-14 18:15:51
,但我在试着理解什么是最简单的解决方案。
Prolog的一些实现在JVM平台上运行。维基百科在这里列出了其中的5个:http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations。因此,也许最简单的解决方案是用Prolog培训团队中的某个人,然后将应用程序移植到JVM Prolog实现。(这可能是一件简单的事情...)
您团队中的某个人可能无论如何都需要Prolog技能才能成功地将Prolog翻译成其他语言。
然而,我认识到可能还有其他原因需要翻译;例如,如果现有的Prolog代码无论如何都需要进行重大检查。
发布于 2014-01-14 17:04:01
这主要取决于你的团队的技能。您提到您的团队拥有相当不错的Java技能;为什么不从这一点开始呢?
如果他们不了解LISP,他们将花费大量时间从头开始学习。学习LISP是一项相当大的投资,但最终肯定是值得的。
尽管Clojure在您的情况下会对您有很大帮助(因为数据流和数据转换),但我认为Java是更好的选择,因为您的团队能够胜任它。
发布于 2014-01-14 18:15:03
您可以考虑将Clojure与core.logic (tutorial)结合使用,后者是一种miniKanren实现。您需要一些逻辑/函数式编程技能,但您可以继续使用JVM。
https://stackoverflow.com/questions/21109294
复制相似问题