SICP第一章概念要点
阅读每一节之前最好认真看看每一节前面的一大段话,体会一下作者想表达什么,想在这个章节向我们传授什么,然后按着这个方向去看书、打代码.
1.1
- primitive expressions、means of combination、means of abstraction
- SICP基本语法:Expression、Combination of expressions、Naming、Procedure definition、Conditional Expressions、Predicates(还有它们的"短路"属性).
- Substitution model: Application order V.S Normal order.两种evaluation的区别.
主要是初步体会一下,由一个个具有简易功能的小过程,逐渐复合为一个具有相对复杂功能的过程.
1.2
- Recursion v.s Iteration:逐步掌握写函数式语言迭代(尾递归)程序的一般方法.(PS. 一个小思考:)
- 此节大部分概念大家应该都有.
1.3
这个算是本章的重点章节了,对应了章名:"过程抽象".四个小部分分别是:过程作为参数,用lambda构造过程,过程作为一般方法,过程作为返回值.这四种思想都是函数式编程中极为重要的思想(或许也是作为专业程序员重要的思想...)
- 书中一般化的求和过程.重点体会一个过程作为另外一个过程的参数这一思想.
- Lambda的作用、用法.(let其实我并不怎么常用)
- 过程作为一般方法: procedures used to express general methods of computation, independent of the particular functions involved(P89 第二句).
- 过程作为返回值、first-class elements
多做练习一定有好处.