人们将Clojure用于哪些现实应用?
我将Groovy用于胶水,将Java用于大型系统,将Python / Perl脚本用于解析和胶水。我可以看到自己从Java调用Clojure,但看不到自己将在何处使用它。令我惊讶的是,几乎所有脚本语言都可以用于临时任务。
无论如何我都不是Groovy专家或狂热爱好者,但令我惊讶的是它具有更好的支持框架,工具和许多语言结构(闭包,函数式编程)。对于Scala也可以这样说。
它的未来是否会成为嵌入在其他系统中的语言?
(sandwich me BLT)吗?
人们将Clojure用于哪些现实应用?
我将Groovy用于胶水,将Java用于大型系统,将Python / Perl脚本用于解析和胶水。我可以看到自己从Java调用Clojure,但看不到自己将在何处使用它。令我惊讶的是,几乎所有脚本语言都可以用于临时任务。
无论如何我都不是Groovy专家或狂热爱好者,但令我惊讶的是它具有更好的支持框架,工具和许多语言结构(闭包,函数式编程)。对于Scala也可以这样说。
它的未来是否会成为嵌入在其他系统中的语言?
(sandwich me BLT)吗?
Answers:
我将Clojure用于:
那是实用/有趣的东西。
但是Clojure也有很多理论深度。随着主流逐渐真正了解函数式编程的潜力,这些想法将变得越来越重要。
我个人认为,但Clojure提供了更好的语言构造,可以正确地组织软件,而不会影响我到目前为止在学术上和专业上使用过的所有语言(C,C ++,Objective-C,Java, JavaScript,Python,Ruby。
这并不是说Clojure是完美的。但是在我看来,它的建立是在比目前大多数情况下更好的基础上进行的。
好吧,这是一个很难回答的问题。你想让我做什么?Clojure并不是真正不适合的很多东西。我的意思是,由于JVM的启动时间(除非您使用的是cake或类似的东西),所以对于一个离线的脚本来说,这并不是一个很好的选择,但是对于任何JVM语言都可以这样说。
Clojure特别适合于并发任务。它是从头开始构建的,是一种很棒的并发语言,它的STM系统很棒。如果您需要做一些与硬核并发相关的事情,Clojure可能特别适合该任务。
但是,必须记住Clojure是一种通用语言。它不仅适合某些特定领域,而且对于其他JVM语言可能适合的许多事物也很有用。
Clojure本身就是一种奇妙的语言,不一定是胶水语言。您可以在Clojure中从头开始构建系统,而无需直接接触Java代码。并不是说它不是一种很好的粘合语言,我知道很多人都这样使用它。
如果您有什么想法,最好的办法就是考虑选择哪种语言的解决方案是什么样的。如果在Groovy中看起来/感觉更好,请选择Groovy。它们都是完全不同的语言,并且都有其用途。