摘要 -- 陆续添加
前言
计算机科学并不是一种科学,而且其重要性也与计算机本身并无太大关系。计算机革命是有关我们如何去思考的方式,以及我们如何去表达自己的思考的一个革命
数学为精确处理“是什么”提供了一种框架,而计算则为精确处理“怎样做” 的概念提供了一种框架
真正的问题——弄清楚我们需要去计算什么,怎样将问题分解为一组可控制的部分,如何对这样的部分开展工作
第一章 构造过程抽象
1,1 程序设计的基本元素
每一种强有力的语言都为此提供了三种机制:
基本表达形式 — 用于表示语言所关心的最简单的个体
组合的方法 — 通过它们可以从较简单的东西出发构造出复合的元素
抽象的方法 — 通过它们可以为复合对象命名,并将它们当作单元去操作
任何强有力的程序设计语言都必须能够表达基本的数据和基本的过程,还需要提供对过程和数据进行组合和抽象的方法
1,1,4
数和算术运算是基本的数据和过程
组合式的嵌套提供了一种组织起多个操作的方法
定义是一种受限的抽象手段,它为名字关联相应的值
1,1,5
“完全展开而后归约”的求值模型称为正则序求值
“先求值参数而后应用”的方式称为应用序求值
第二章 构造数据抽象
2,1数据抽象导引
数据抽象是一种方法学,它使我们能将一个复合数据对象的使用,与该数据对象怎样由更基本的数据对象构造起来的细节隔离开

浙公网安备 33010602011771号