什么样的应用适合clojure?

时间:2010-01-22 22:16:04

标签: clojure

所以,刚刚学习了Clojure,我有兴趣再次尝试一些好的功能性编程。 Clojure会有什么样的应用程序?网络应用?窗口客户端应用程序?命令行实用程序?什么样的应用程序是Clojure一个可怕的解决方案?

6 个答案:

答案 0 :(得分:12)

我认为Clojure唯一可能不擅长的是一次性命令行脚本。即使使用-client标志运行,JVM启动时间也不是很热。像Nailgun这样的项目提供了一些解决方法,但这种方法有一些严重的安全隐患。

否则我认为Clojure是任何任务的理想选择。

答案 1 :(得分:5)

真的,任何类型的应用都应该没问题。 Clojure是一种合理的通用语言,因此它适用于大多数事情,特别是由于它的Java类库支持。

函数式编程语言很适合高度并行的问题,因此您可能希望在该领域中寻找某些东西。例如,使用Google等MapReduce方法处理大量信息...

答案 2 :(得分:3)

Clojure非常适合涉及大量解析的所有内容。我当然会用它来分析日志文件。它也是编写DSL的好语言。我可能不会将它用于90%GUI的应用程序。当然,你现在不必选择一种语言。您可以将Clojure用于部分应用程序。

答案 3 :(得分:3)

很少有Clojure不适合。它是一种通用语言,几乎适用于任何任务。特别是与并发相关的。

答案 4 :(得分:2)

我对Clojure也很陌生,喜欢在速度不是问题的数学问题上使用它。它是如此富有表现力。能够透明地使用BigDecimals和BigIntegers的扩展精度也是非常好的 - 对Java所需的笨拙的构造函数和方法没有任何启发。

关于速度的警告实际上是因为我自己缺乏经验。我不知道这对真正的技术人员来说是一个问题。它也是一个可以在Clojure中实现并行化的区域。

答案 5 :(得分:1)

Clojure非常适合映射 - 减少处理大量数据集的样式数据处理问题。它正在FlightCaster.com和Runa上用于此效果。我正在使用它进行加密,我已经看到它在另外两个以网络为中心的初创公司中使用过。