【发布时间】:2012-05-11 20:16:03
【问题描述】:
我正在从事一个涉及大量基于 Web 和 AI 工作的大型项目。我对 Python 非常满意,尽管我唯一关心的是并发编程和扩展这个项目以使其在集群上工作。因此,Clojure for AI 和对 Java 函数调用的支持带来了并发编程。
使用 Python 完成所有基于 Web 的 api 工作并让 Clojure 处理大部分并发 AI 工作是否是个好主意?
编辑: 让我详细解释一下交互。 Python 将完成大部分繁琐的工作(抓取、图像处理、改进数据库等等)。如果可能,Clojure 将处理数据库或从 Python 获取数据。我除了一些 CPython 与 Python 和 Clojure 的链接。
编辑2: 问这个问题可能是个愚蠢的问题,但这是一个相当长期的项目,会发生相当大的演变并经历多次迭代,Clojure 是一种语言吗?够便携吗?
【问题讨论】:
-
你认为这些层之间的接口是什么样的?杰通?共享数据库后端?消息队列? ...?就目前而言,这个问题太宽泛了,无法回答。
-
稍微更新了问题。我很困惑自己将哪个任务分配给谁以及如何使交互起作用。任何建议都将受到欢迎。
-
不要越过溪流!
-
@Puck 如果你想直接在语言之间进行调用,到目前为止更简单的方法是使用 JVM——所以是 Jython,而不是 CPython。在 Python 中做“肮脏的工作”似乎不是最理想的——即使在考虑线程之前,JVM 也比 CPython 运行时快得多。
-
我认为可以肯定地说 Clojure 将继续存在。 (而现在,即使是精品语言也倾向于生存。毕竟,生产就绪语言现在是免费的。购买编译器不再需要 600 美元。)至于可移植性,Clojure 应该像 Java 一样可移植,所以是的,非常可移植.我真的看不出有任何理由不使用 Clojure。 (虽然还有很多其他很棒的选择!)