2009-09-11 44 views

回答

41

这将是你的利益都学会了,如果只有这样你可以挑选哪一个是最适合你的需求。三者各有优缺点。

Clojure有点像Scheme,因为它是一种功能最多的语言,并且是Lisp1。 Clojure也从Common Lisp中借用了一些东西,比如多方法和宏,而且人们总是把酷的Common Lisp作为库来移植到Clojure。在编写Clojure之前,Clojure的创建者自己就是Common Lisp黑客。 Clojure借用了Scheme和CL的许多术语和惯例(但在许多领域也有自己的口味)。

Clojure现在没有太多的文献,它是这样一种新语言(只有one Clojure book so far)。但有很多优秀的面向计划的书籍,如SICPThe Little Schemer/The Seasoned Schemer。还有很好的CL书籍,如PCL等等。

Lisps也有很多历史,为了理解历史,了解Clojure偏离它的地方和原因,这对您有利。

我建议你开始计划,因为它是三个最简单的语言,因此最容易学习。然后涉足CL和Clojure,直到你掌握了一些东西,然后在你吸引的两个人中任何一个中全力以赴。

+2

太棒了。非常感谢。 – uzo 2009-09-11 20:44:59

+0

阅读'小小的听众',然后'SICP',学习计划或lisp – 2013-02-08 03:27:41

16

你的目的,我认为你是安全的,刚开始学习Clojure的。 Lisp和Scheme(和Clojure本身)之间的区别不应该成为一个问题,尤其是如果你刚刚开始学习。

3

这取决于你是否想专注于学习或玩耍。如果你真的想研究Lisp,Scheme是一个很好的开始。如果你想学习,那么Clojure更适合。

最后,我想Clojure的可能是一个更好的学习语言。它对并发性的支持真的让人大开眼界。很少有语言让初学者编写并发程序变得如此简单。

6

我的第一次Lisp学习经历是Scheme,我从来没有碰过Common Lisp(感觉它太复杂了),现在开始使用Clojure。

我用Dorai Sitaram的“在自己的日子里教自己的计划”来学习Scheme,虽然我从来没有真正发现自己想要在真实项目中使用Scheme,

另一方面,Clojure,因为它声称可以很好地,干净地访问J2SE/J2EE库的庞大宇宙,所以鼓励我重新学习这个Lisp方言,因为它最终可能会有实际用途。

至于哪一个首先,我要说的方案更简单,所以可能更适合入手。另一方面,如果您拥有良好的Java和Python知识,则可能不介意直接进入Clojure,因为与Scheme不同,它包含其他两种语言的元素(例如,数据结构让人想起Python和JVM/Java API中心教程)而熟悉的地形可能会有所帮助。

因为我确实来自三方面(Java,Python,Scheme),所以我发现自己处于一个很好的位置,可以欣赏Clojure带来的不同于Scheme的表格。我没有经验丰富的Schemer,但我会说如果你立即从Clojure开始,你仍然可以获得Lisp的一般经验,所以你绝对不会因为放弃Scheme而错过。