注意:我不是在问哪个学习,哪个更好,或者类似的东西。
我选择了SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣)。
我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?
似乎有很多关于'CL有一个更大的stdlib ...方案不适合现实世界的编程......'但实际上并没有说'这是因为CL就是这个/有这个'。
答案 0 :(得分:88)
答案 1 :(得分:19)
一些基本的实际差异:
(function ...)
将函数显式转换为值,并使用(funcall ...)
显式调用存储在值中的函数nil
(空列表)被视为false(例如在if
中),并且是唯一的false值。在Scheme中,空列表被认为是真的,并且(不同的)#f
是唯一的假值答案 2 :(得分:8)
这是一个难以回答的难以回答的问题,特别是因为许多LISP人员会将Scheme归类为LISP。
Josh Bloch(这个类比可能不是他的发明)描述选择一种类似于选择当地酒吧的语言。那么,那么:
“Scheme”酒吧里面有很多编程语言研究人员。这些人非常关注语言的含义,保持定义和简单,并讨论创新的新功能。每个人都有自己的语言版本,旨在让他们探索自己特定的编程语言角落。 Scheme人们非常喜欢他们从LISP获取的带括号的语法;它灵活,轻便,统一,消除了语言扩展的许多障碍。
“LISP”酒吧?嗯......我不应该评论;我没有在那里度过足够的时间:)。
答案 3 :(得分:2)
方案:
常见的lisp:
这是一些要点,确定还有更多,我现在还不记得了。