什么样的应用程序适合clojure?

什么样的应用程序适合clojure?,clojure,Clojure,所以,刚刚了解了Clojure,我很想再次投入到一些好的ol函数式编程中。Clojure适用于什么类型的应用程序?网络应用?窗口客户端应用程序?命令行实用程序?Clojure是哪种应用程序的糟糕解决方案?Clojure适用于涉及大量解析的所有应用程序。我当然会用它来分析日志文件。它也是编写DSL的一种很好的语言。我可能不会将它用于90%GUI内容的应用程序。当然,现在你不必只选择一种语言。您可以将Clojure用于部分应用程序。实际上,任何类型的应用程序都应该可以。Clojure是一种合理的通用

所以,刚刚了解了Clojure,我很想再次投入到一些好的ol函数式编程中。Clojure适用于什么类型的应用程序?网络应用?窗口客户端应用程序?命令行实用程序?Clojure是哪种应用程序的糟糕解决方案?

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

实际上,任何类型的应用程序都应该可以。Clojure是一种合理的通用语言,因此它适用于大多数事情,特别是由于它的Java类库支持


函数式编程语言能够很好地处理高度并行的问题,因此您可能需要在该领域寻找一些东西。例如,使用Google do之类的方法处理大量信息…

我认为Clojure唯一不适合的就是一次性命令行脚本。即使在使用-client标志运行时,JVM的启动时间也不是很热。像Nailgun这样的项目提供了某种变通方法,但这种方法存在一些严重的安全隐患


否则,我认为Clojure对于任何任务都是理想的。

我对Clojure也相当陌生,喜欢在速度不是问题的数学问题上使用它。真是太有表现力了。能够透明地使用大小数和大整数的扩展精度也是非常好的,而无需对Java所需的笨拙的构造函数和方法进行进一步研究


关于速度的警告其实是因为我自己缺乏经验。我不知道这是一个真正熟练的问题。这也是一个有利于并行化的领域,在Clojure中,并行化似乎非常容易。

Clojure非常适合于处理庞大数据集的map-reduce风格的数据处理问题。在FlightCaster.com和Runa上,它的使用效果非常好。我把它用于加密,我在另外两个以网络为中心的初创公司中看到过它的专业应用。

Clojure几乎没有什么不适合的。它是一种通用语言,几乎适用于任何任务。尤其是与并发相关的。

Clojure实际上对GUI并不是那么糟糕,因为您可以借助所有Java库(OpenGL、Swing、Processing等)。我已经用Clojure编写了一个游戏GUI,运行得非常好。不过如果您保持REPL打开(这是一个很好的实践!),那么您可能会发现它在一次性命令行脚本方面也非常好。。。。。