Scheme与Common Lisp的区别

5
Scheme和Common Lisp之间的选择? 该选哪个?

你想用它做什么? - David Thornley
学习函数式编程,但后来发现Lisp有一些方言,所以我不知道该选择哪一个。我接受任何建议。 - Damir
我建议你阅读这篇文章。http://stackoverflow.com/questions/108201/common-lisp-or-scheme - Secko
从你的问题来看,似乎你需要开始并选择一个,我的建议是选择你拥有更有价值信息的那个,是一本好书、同事还是朋友。先学习其中一个,然后再选择,有了坚实的基础,时间不会被浪费。 - Alberto Zaccagni
1
重复问题:http://stackoverflow.com/questions/108201/common-lisp-or-scheme - Anderson Green
3个回答

17

Scheme很小而干净,Common Lisp则更加强大而庞大。


2
PLT Scheme(现在称为Racket)非常干净,文档齐全,并配备了一个漂亮的IDE。它也是预打包的。Common Lisp需要一段时间才能启动和运行。如果您刚开始学习,我建议从Scheme开始。 - Demosthenex
4
我认为这是历史了。 R6RS不再干净简洁。 实际的Scheme软件从来没有比相应的Lisp软件更加简洁。 - Rainer Joswig
@Rainer Joswig "相对较小"? - user166390
@pst,请查看R6RS。它非常密集,有几百页的复杂内容。 - Rainer Joswig
呃,以前我使用它时它相对较小、干净?(是的,简洁的编程语言并不一定产生干净的代码。) - David Thornley

5
为了学习函数式编程语言,正如你的一条评论所指出的那样,Scheme具有《计算机程序的构造和解释》的优势,这是一本几乎普及到21世纪初的标准本科教材,旨在让没有编程经验的人轻松进入编程世界。它不是最容易上手阅读的书(这可能就是为什么它被慢慢取代的原因),但如果你能理解它,就会有很多像突然开窍的时刻。即使作为一个在大学里读过这本书但现在主要使用过程化语言的人,最近重新阅读它也给了我一些禅修的时刻。

印刷版仍然是标准的计算机科学教科书价格,但全文可从上述网站获取。因此,至少值得一看。


4
另一个要考虑的选择是Clojure。它是另一种“Lisp方言”,与CL有很多共同之处,但也有些扭曲之处。使用它的优点是JVM / Java交互以及包括STM在内的本机并发性。
虽然,如果我“只是学习”,我会选择Scheme,并且会对continuations/call-cc感到兴奋 :-) 它绝对是更“学术”的lisp方言之一。另一方面,非卫生宏的纯疯狂...呃,力量...使得CL中的一些宏变得有趣。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接