使用Clojure进行新开发的最佳用例是什么?

Kev*_*ood 6 clojure

为什么我要为新项目选择Clojure而不是其他语言?它在哪些方面表现优异?

mik*_*era 6

我将使用Clojure的一些场景:

  • 您正在构建一个需要可靠扩展的新的高度并发的应用程序.在我看来,Clojure的并发特性(STM,默认不变性,无锁MVCC)是目前任何主要语言中最好的.Rick Hickey关于身份和状态的精彩视频是一种了解这种感觉的好方法.

  • 您是一家基于Java的商店,需要高效的动态语言,可用于快速开发或编写脚本,同时保持对大型Java代码库的投资.我发现Clojure在"粘合"Java代码方面非常有效,因为互操作功能非常好(而且简单!).

  • 如果你想使用函数式编程语言 Clojure非常好(它不像Haskell那样"纯粹"但具有所有关键特性 - 一流函数,高阶函数组合,不变性,懒惰)

  • 如果你在一个主要需要代码操作的领域工作(编译器,DSL,自然语言处理,遗传编程),那么LISP"代码就是数据"哲学可以使你的工作效率极高.这是一般基于同性恋 LISP语言的最佳选择.