哪种编程语言最适合人工智能编程?
发布时间:2018-12-03 作者:jason
网友A说:AI程序通常非常复杂。试图用C / C ++来解决它们将是一项艰巨的任务。如果你打算使用较低级别的语言(与其他语言相比),犯错的可能性也很大。
你可以试试Java,这绝对是比C / C ++更好的选择。但是,声明性和功能性语言更适合构建智能应用程序的任务。
众所周知,LISP是专为人工智能处理而设计的。但是,考虑到一些功能更强大的语言,如Haskell,Scala,Clojure等,您也可以开始使用它们。
如果你想坚持使用JVM,Scala和Clojure仍然是不错的选择。如果您使用Java并且无法使用更多功能语言,那么Scala可能是比Clojure更好的选择。
我以前没有在生产中使用Haskell,但我相信它的力量。在许多情况下,Haskell可能比其他人更好,但它实际上取决于你想要实现的目标。
一个人曾告诉我:“如果你想使用Java库,你可以使用Scala / Clojure,如果你想使用C库,那就使用Haskell。” 它确实有意义。
网友B说:简而言之:没有最好的,所有情况都是具体的。任何语言都可能比另一种语言更好,这取决于太多因素甚至提及。
首先,这些较低级别的语言往往过于繁琐,无法用于您要进行大量“假设”类型编程的事情。也就是说,你想要一些工作而不花费大量时间来“恰到好处”。你要编写的大部分内容将是一次性的,扔掉,只是测试一下,编码类型 - 不是生产的东西,只有在所有的设计和测试完成之后。对于初始AI,您正在测试内容,而不是试图使其尽可能健壮和/或高效。因此,使用诸如C / Java / C ++ /等低级别的东西可能是一个坏主意。你想要的东西,你可以写出一些线条,并使其主要朝着你想要的方向工作。
作为示例,人工智能社区花了几十年的时间才开始将语音识别之类的东西用于语音识别,然后才开始将其移植到C / C ++等语言中,以提高效率。
一个好主意可能是使用函数式编程语言(Haskell,Scheme,Clojure,Scala,F#等),或者可能是基于声明性的逻辑(例如Prolog,Forth等)。但这绝对是一种非常具体情况的选择。例如,您甚至可能会发现Python(对于某些OOP和一些FP来说是一个相当高级的程序命令)对于这样的任务也相对较好。这也不是说你可能不需要其他更低或完全不同的语言,例如,任务可能非常需要你在汇编,SQL或C,或HTML或任何需要的东西中做某事。
当然,如果AI是指AI程序员正在进行的“真正的”AI,即寻找新方法来做旧事或新事要做(包括在内)。没有一些科幻小说想要制作一个具有与人类相当或超越人类的“智能”的程序。我担心这是一个白日梦(至少在目前 - 就像在可预见的未来,未来十年到千年,取决于未来在硬件,物理,软件等方面的发现)在这种情况下,语言还没有发明了,所以绝对没有最好的东西,甚至没有一个,怎么会有一个“最好的”?