uzo*_*uzo 27 lisp scheme clojure
如果我想学习Clojure,我应该从学习Scheme或Common Lisp开始吗?
或者Clojure与这两者有什么不同,我应该开始自己学习Clojure?
Bri*_*per 41
如果只有这样你可以选择哪一个最适合你的需要,那将是你的好处.这三者都有各自的优点和缺点.
Clojure隐约喜欢Scheme,因为它是一种功能最强大的语言,而且是一个Lisp1.Clojure还借用了Common Lisp中的东西,比如多方法和宏,人们总是把很酷的Common Lisp东西移植到Clojure作为库.在写Clojure之前,Clojure的创建者本身就是一名Common Lisp黑客.Clojure从Scheme和CL中借用了许多术语和约定(但在许多领域也有自己的风格).
现在没有很多关于Clojure的文献,它是一种新语言(到目前为止只有一本Clojure书).但是有大量优秀的面向计划的书籍,如SICP和The Little Schemer/The Seasoned Schemer.还有很好的CL书籍,比如PCL,以及许多其他书籍.
Lisps也有很多历史,了解历史,了解Clojure在何处以及为什么会偏离它,这对您有利.
我建议从Scheme开始,因为它是三者中最简单的语言,因此最容易学习.然后涉足CL和Clojure,直到你掌握了东西,然后在你倾向于的两个中的任何一个中全力以赴.
我的第一个Lisp学习经历是使用Scheme,我从未接触过Common Lisp(感觉它太复杂了),现在我开始使用Clojure.
我使用Dorai Sitaram的"在Fixnum Days中自学计划"来学习Scheme并且相当远,但我从未真正发现自己想要在实际项目中使用Scheme.
Clojure,因为它据称可以很好地,干净地访问巨大的J2SE/J2EE库,另一方面鼓励我重新学习这个Lisp方言,因为它最终可能具有实际用途.
至于哪一个开始,我会说Scheme更简单,因此可能更适合开始.另一方面,如果你有很好的Java和Python知识,你可能不介意直接进入Clojure,因为与Scheme不同,它包含这些其他两种语言的元素(例如数据结构让人联想到Python和JVM/Java API中心教程)熟悉的地形可能有所帮助.
由于我确实来自三者(Java,Python,Scheme),我发现自己处于一个很好的位置,可以欣赏Clojure带来的与Scheme不同的表格.我没有经验过Schemer,但我会说,如果你马上就开始使用Clojure,你仍然可以获得一般的Lisp体验,所以你绝对不会错过那个通过前瞻计划.
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |