授人以鱼,不如授之以渔。
这句古话也同样适用于编程语言中的数据结构。
如果你读过The Little Lisper(后更名为The Little Schemer),本书的前篇,你应该知道list是Lisp的心脏。事实上,"LISP"原本是"LISt Processing"的简写。推而广之,C语言可以称之为CHAP("CHAracter Processing"),而Fortran可称之为FLOP("FLOating-point Processing")。
你能想象没有字符的C,或者缺少浮点的Fortran吗?那就不成其为C或Fortran了,而是另外一门完全不同,甚至是完全无用的语言。那如果Lisp没了list呢?Lisp可不仅仅只有list,还有执行计算的函数。经过这些年漫长而艰难的学习,我们逐渐认识到,list是Lisp的心脏,而函数是Lisp的灵魂。
Lisp不能少了list,更不能少了函数。Dan和Matthias将会告诉你,The Little Lisper确实是场盛宴,但你将会看到,这里更多的是生活。
吃好了吗?那么,准备踏上旅途吧。
现在,我们准备授渔了。
Guy L. Steele Jr.