查看原文
其他

《The Little Schemer:递归与函数式的奥妙》中英文版

点此关注--> 码农真经 2023-12-25


内容简介 


《The Little Schemer:递归与函数式的奥妙》是一本久负盛名的经典之作,两位作者Daniel P. Friedman、Matthias Felleisen在程序语言界名声显赫。《The Little Schemer:递归与函数式的奥妙》介绍了Scheme的基本结构及其应用、Scheme的五法十诫、Continuation-Passing-Style、Partial Function、Y-Combinator、Interpreter等内容,并通过这些内容阐述了计算的一般本质。


《The Little Schemer:递归与函数式的奥妙》没有什么理论性描述,所有概念都蕴含在独特的引导式一问一答过程中,这种方式让读者对程序大师运用熟稔的程序方法来驾驭概念的能力叹为观止。


通过阅读《The Little Schemer:递归与函数式的奥妙》,可以让读者领略递归的奥妙、函数式编程风格的魅力。阅读完毕会有一种意犹未尽的感觉。

《The Little Schemer:递归与函数式的奥妙》适合所有程序员阅读,特别是函数式编程爱好者。好好享用!


作者简介


Daniel P. Friedman,是美国印第安那大学计算机科学系的教授。Matthias Felleisen是美国莱斯大学计算机科学系的教授。同时,他们使用Scheme来教授计算及编程课程的经验超过了25年,发表了100多篇论文,出版了3部Scheme相关书籍。


目录


第1章 玩具总动员 2

第2章 处理,处理,反复处理…… 14
第3章 用cons构筑恢宏 32
第4章 数字游戏 58
第5章 我的天!都是星星 80
第6章 如影随形 96
第7章 朋友及关系 110
第8章 Lambda终结者 124
第9章 ……周而复始…… 148
第10章 值是什么 174
幕间休息 192
索引 194


网友评论


上学最宝贵的收获之一是结交学识过人的朋友。自己闷头学得山穷水尽时,高手轻轻一句点拨,眼前便峰回路转,柳暗花明。每次上完课,有幸和朋友小聚,请教弱智问题,听朋友妙语解惑,实在是难得的人生乐事。读The Little Schemer,也有同样的感受。读The Little Schemer的过程,就是被良师引导的过程。

用作者的话说,The Little Schemer是一本教人理解计算本质的书。编程语言Scheme不过是传道的载体。书的体例独特。每页分成两列。每列寥寥几行代码,数段散句。左边一列问个问题。右边一列给出答案。作者就用这种轻松对话的形式讲解递归和函数编程。例如下面的截图。



这本书最吸引我的地方是它讲解的方式:书里仿佛没有什么难点,也没有长篇讨论。每章都是逐层推进的问题和相应的解答。比如翻看书第一页,就是“atom是不是atom?”。我差点以为买了本缺页的书,下意识的向前翻了一下,看是不是漏掉了开头。在这些精心设计的例子启发下,我们自然地总结出编程的概念和方法。一切水到渠成。这其实是非常高效的训练,对初学者尤其有用。从现象里归纳出共性、由实践中抽象出模式,在表象下看到本质是解决问题的重要技巧。编程语言也好,公式也好,不过是表达我们思路的手段。何况很多强有力的编程技巧也是前人从无数代码里提炼而来。还有什么比自己体验提炼过程更让人印象深刻的学习手段呢?书不厚。180来页。10章。每章读时都觉得简单,甚至有点琐碎。但书的进度其实毫不含糊。第8章已经引导我们领悟Continuation Passing Style的奥秘。第九章解释了Y-组合子的前世今生,而第十章干脆实现了一个Scheme的解释器。单是第8章就值回书价(本来也不贵。如果连续集The Seasoned Schemer和The Reasoned Schemer一起买,还有折扣)。想象一下,一个对Scheme编程甚至对编程一无所知的新手读完这章后,突然发现CPS函数上挂着的那一大坨累赘事物(黑话所谓的continuation)变得清晰晓畅,已经融入自己的灵魂,是何等爽快的体验。

我对书唯一不满的地方是它全用各种食物做数据。鱼子酱,沙门鱼,曲奇什么的满篇都是。个人觉得和家谱树一样无趣。对了,作者没有写任何可以激励读者的内容,比如为什么CPS有用。这也许会打击一部分老大的积极性。

喜欢The Little Schemer的老大们,多半也会喜欢续集The Seasoned Schemer。用序言的话说,The Little Schemer展示了列表是Lisp编程的心脏,而The Seasoned Schemer展示了函数是Lisp编程的灵魂。


关注、点赞、广告,妨无视!


(schemer)

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存