java是否将prolog应用程序转换为基于JVM的语言?
我有一个中等大小的遗留ISO prolog应用程序,我想将其转换为基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,进行一些计算/转换,然后导出基于文本的文件
我的团队主要用Java开发,因此我们有很多现有的Java能力和可重用组件。然而,Prolog的能力非常低
我不希望有一种工具能够将prolog源代码转换成其他语言。但我想知道什么是最简单的解决办法。用Java从头开始,还是使用Clojure这样功能性更强的语言
你可以在下面搜索框中键入要查询的问题!
我有一个中等大小的遗留ISO prolog应用程序,我想将其转换为基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,进行一些计算/转换,然后导出基于文本的文件
我的团队主要用Java开发,因此我们有很多现有的Java能力和可重用组件。然而,Prolog的能力非常低
我不希望有一种工具能够将prolog源代码转换成其他语言。但我想知道什么是最简单的解决办法。用Java从头开始,还是使用Clojure这样功能性更强的语言
# 1 楼答案
Prolog与java和其他面向对象语言非常不同。我学习这种语言是为了寻找另一种编程方式。 但我不认为有什么神奇的解决方案可以将prolog应用程序转换为java应用程序。逻辑是不一样的,没有其他语言像Prolog一样。我认为你必须分析你的prolog应用程序到底做了什么,然后从Scratch开始使用一个新的java应用程序
# 2 楼答案
可以考虑使用Culjule和core.logic(tutorial),这是miniKanren实现。你需要一些逻辑/函数编程技能,但你可以留在JVM上
# 3 楼答案
这主要取决于团队的技能。你提到你的团队有很好的Java技能;为什么不从这个开始呢
如果他们不懂LISP,他们会花很多时间从头开始学习。学习LISP是一项相当大的投资,但最终肯定是值得的
尽管Clojure将在您的案例中为您提供很多帮助(因为数据流和数据转换),但我认为Java是一个更好的选择,因为您的团队能够胜任这项工作
# 4 楼答案
Prolog的一些实现在JVM平台上运行。维基百科在这里列出了其中的5个:http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations。所以,也许最简单的解决方案是用Prolog培训团队中的某个人,然后将应用程序移植到JVM Prolog实现中。(这可能是一件简单的事情……)
团队中的某个人可能需要Prolog技能才能成功地将Prolog翻译成其他语言
然而,我承认可能还有其他原因需要翻译;e、 g.如果现有的Prolog代码仍然需要大修