我的问题的目的是 没有开始一场口水战,而不是决定在什么情况下每种语言是“最好的工具的工作。”
我读过几本关于 Clojure 的书(编程 Clojure、 实用 Clojure、 Clojure 的快乐和 Clojure 在行动的 Manning Early Access 版本) ,我认为它是一种很棒的语言。我目前正在阅读 放过 Lambda,它主要处理 Common Lisp 宏,而且它也是一种非常有趣的语言。
我是 没有的 Lisp 专家(更像是一个新手) ,但是这个语言家族和函数式编程一样让我着迷。
Clojure 的优点 (以及“ other”的缺点) :
在 JVM 上运行。
JVM 是一个非常稳定、高性能的语言环境,非常符合 Sun 的“写一次,[几乎]在任何地方运行”的梦想。我可以在我的 Macbook Pro 上编写代码,将其编译成可执行的 JAR 文件,然后在 Linux 和 Microsoft Windows 上运行它,几乎不需要额外的测试。
(Hotspot 等) JVM 支持高质量的垃圾收集和高性能的即时编译和优化。就在几年前,我用 C 编写了所有需要快速运行的代码,现在我毫不犹豫地用 Java 编写。
标准的,简单的,多线程模型。 Common Lisp 有标准的多线程包吗?
使用 []
、 {}
和 #{}
打破了所有这些括号的单调性,尽管 Common Lisp 专家可能会告诉我,使用 reader 宏,可以将它们添加到 CL 中。
Clojure 的缺点 :
其他的优点(特别是 Common Lisp) (和 Clojure 的缺点) :
用户可定义读取器宏。
其他优势?
有什么想法,其他的不同吗?