有人可以指出Clojure的优点以及它适合哪种类型的应用程序?
我不打算将它与任何语言进行比较.作为一种语言本身适合什么?我的目的是为正确的工作知道正确的工具,以及在这种情况下clojure在哪里适应.
Nat*_*hes 18
好处:
适合:
可能不适合:
Pet*_*ans 10
一般来说,我发现clojure的强点(没有特别的顺序):
1)REPL以交互方式尝试.
2)默认情况下一切都是不可变的,并且可变性有几个精心选择的标准模式,可以在多线程环境中以安全的方式修改状态
3)尾部递归是明确的.直到在JVM上有适当的尾递归支持,这可能是最好的折衷方案
4)非常富有表现力的语言,有利于功能性方法而不是命令式方法.
5)与Java平台的良好集成使得混合使用Java库变得轻松无忧
6)Leiningen作为构建和依赖管理工具与clojars站点一起使用
好吧,第6点与语言perse无关,但绝对是我喜欢使用它.
关于应用程序它的目标是多线程应用程序,但现在的情况可能意味着任何事情,因为每个人都试图在用户不等待时保持所有这些核心忙碌.另一方面,显然很多人使用它来部署到基本上是单线程的Google App Engine.
功能方法在我(有限的)实现数据转换和计算的经验中运行良好.可以通过应用程序"流式传输"信息和事件的位置.Web应用程序主要属于这一类别,我们将请求"转换"为"响应".
但我仍然必须在真实的生产代码中使用它.目前我将它用于个人项目和原型设计/基准测试.
| 归档时间: |
|
| 查看次数: |
6560 次 |
| 最近记录: |