《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,SICP)
总感觉这本书充满着哲学意味,窥探一门计算机编程语言的设计哲学与内在逻辑。
本书使用的编程语言为 Lisp。
1 构造过程抽象
1.1 程序设计的基本元素
- 基本表达式:最基本的语法,例如 1 + 1
- 组合的方法:把基本表达式组合起来,最终组合出来的还是元素
- 抽象的方法:为复合对象命名,将他们当做单元去操作,当然应该还有高级编程语言中的面向对象
基本的表达式(一个数、运算例如 + * ):
复合表达式(组合式):
命名和环境,命名计算对象,称为变量:
(define size 2)
(* 5 size)
1
2
组合式的求值:
- 求值组合式的各个子表达式
- 将作为最左子表达式(运算符)的值的那个过程应用于相应的实际参数,所谓的实际参数也就是其他子表达式(运算对象)的值
对下列表达式求值:
(* (+ 2 (* 4 6))
(+ 3 5 7))
1
2