有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否将prolog应用程序转换为基于JVM的语言?

我有一个中等大小的遗留ISO prolog应用程序,我想将其转换为基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,进行一些计算/转换,然后导出基于文本的文件

我的团队主要用Java开发,因此我们有很多现有的Java能力和可重用组件。然而,Prolog的能力非常低

我不希望有一种工具能够将prolog源代码转换成其他语言。但我想知道什么是最简单的解决办法。用Java从头开始,还是使用Clojure这样功能性更强的语言


共 (4) 个答案

  1. # 1 楼答案

    Prolog与java和其他面向对象语言非常不同。我学习这种语言是为了寻找另一种编程方式。 但我不认为有什么神奇的解决方案可以将prolog应用程序转换为java应用程序。逻辑是不一样的,没有其他语言像Prolog一样。我认为你必须分析你的prolog应用程序到底做了什么,然后从Scratch开始使用一个新的java应用程序

  2. # 2 楼答案

    可以考虑使用Culjule和core.logictutorial),这是miniKanren实现。你需要一些逻辑/函数编程技能,但你可以留在JVM上

  3. # 3 楼答案

    这主要取决于团队的技能。你提到你的团队有很好的Java技能;为什么不从这个开始呢

    如果他们不懂LISP,他们会花很多时间从头开始学习。学习LISP是一项相当大的投资,但最终肯定是值得的

    尽管Clojure将在您的案例中为您提供很多帮助(因为数据流和数据转换),但我认为Java是一个更好的选择,因为您的团队能够胜任这项工作

  4. # 4 楼答案

    But I'm trying to understand what would be the easiest solution.

    Prolog的一些实现在JVM平台上运行。维基百科在这里列出了其中的5个:http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations。所以,也许最简单的解决方案是用Prolog培训团队中的某个人,然后将应用程序移植到JVM Prolog实现中。(这可能是一件简单的事情……)

    团队中的某个人可能需要Prolog技能才能成功地将Prolog翻译成其他语言


    然而,我承认可能还有其他原因需要翻译;e、 g.如果现有的Prolog代码仍然需要大修