答案 0 :(得分:14)
Clojure非常适合concurrent programming。它提供了很好的工具来处理软件事务内存和可变引用的线程。
作为Western Mass Developer's Group的演示,Rich Hickey进行了蚁群模拟,其中每个蚂蚁都是自己的线程,所有变量都是不可变的。即使有非常多的线程,事情也很有效。这不仅是因为Rich是一个了不起的程序员,也是因为他在编写代码时不必担心锁定问题。你可以查看他的presentation on the ant colony here。
答案 1 :(得分:6)
如果你打算尝试并发编程,那么我认为clojure比你从Java开箱即用的东西要好得多。看看这个演示文稿,看看为什么:
我在博客上记录了我在Clojure的前20天
http://loufranco.com/blog/files/category-20-days-of-clojure.html
我从SICP讲座开始,然后建立一个平行的素数筛子。我也玩过宏。
答案 2 :(得分:4)
哪些项目类型适合在Clojure上使用Java,副词 相反,还是组合使用?
一个GUI构建工具的项目 (比如马蒂斯在Netbeans)是 需要的可能是Java的情况 仍然需要。做的任何事情 Java可以在Clojure中完成 很容易,有代理和gen-class if 需要,或只是访问Java 需要(。,doto,new等)。这个 允许Clojure项目轻松使用 Java库或遗留Java代码。
您在Clojure之前从未尝试过哪些程序?
在我找到Clojure之前,我是 考虑一个需要的项目 JDBC,将在servlet中运行 容器,我期待做一个 很多迭代开发因为 目前尚不清楚采用何种方法 为我需要分析的数据工作。 我把它放在了后面,因为我 没有时间或耐心 compile-debug-deploy-validation Java需要的循环。我现在 在Clojure中写了这个应用程序, 而且我对它的轻松感到非常高兴 在飞行中做出改变 能够检查结果 立即。更不用说快乐了 无锁编程和存在 从必须发展中解放出来(和 重构)类层次结构。
- “MikeM”通过 clojure@googlegroups.com 邮件列表
答案 3 :(得分:2)
哪些项目类型适用于Clojure上的Java,反之亦然,并且可以组合使用?
如果你想开发一个由Java和Clojure使用的框架,我发现在Java中编写主要的抽象(接口广告基类)比在Clojure中写它们更好(我发现Clojure的{{ 1}}有点乏味,而是使用gen-class
)。
如果您是Hibernate的用户或任何其他框架,如果不提供程序化替代方案而大量使用Java注释,那么您将遇到一些麻烦,因为使用Clojure的数据结构模拟带注释的POJO并非易事。 / p>
除此之外,我没有经历过Clojure不如Java的用例;当然,你必须应对静态打字的损失,起初感觉有点令人不安,但往往会消失。