有人能指出Clojure的优点以及它适合哪种类型的应用程序吗?
我不打算把它与任何语言相比较。作为一种语言本身,它适合做什么?我的意图是知道合适的工作工具,并在这种情况下在什么情况下适合关闭。
发布于 2010-06-15 17:12:56
优势:
函数编程的所有优点,没有纯straitjacket
。
适合:
自下而上的design
可能不适合:
如果您希望静态语言能够适应需要快速启动时间的analysis
)的静态
发布于 2010-06-15 16:13:51
总的来说,我发现clojure的优点(没有特别的顺序):
( 1) REPL以互动的方式进行尝试。
2)在默认情况下,所有东西都是不可变的,并且在多线程环境中,可更改性有几种精心选择的标准模式,可以安全地修改状态。
3)明确了尾递归。在JVM上正确支持尾递归之前,这可能是最好的折衷方法。
4)非常有表现力的语言,它倾向于功能方法,而不是祈使式方法。
5)与Java平台非常好的集成,使得在Java库中混和是无痛的
6) Leiningen与clojars站点一起作为构建和依赖管理工具
好的,第6点与语言perse无关,但绝对与我使用它的乐趣有关。
关于应用程序,它的目标是多线程应用程序,但是现在的情况可能意味着任何事情,因为在用户是而不是等待的时候,到处都有人试图让所有的内核都忙着。另一方面,很明显,很多人使用它来部署到Google,这是从根本上说是单线程的。
在我(有限的)经验中,功能方法在实现数据转换和计算方面非常有效。其中的信息和事件可以通过应用程序“流”。Web应用在很大程度上属于这个类别,我们将请求“转换”为“响应”。
但我仍然需要在实际的生产代码中使用它。目前,我将其用于个人项目和原型/基准测试。
https://stackoverflow.com/questions/3046769
复制相似问题