随笔分类 -  抽象与模块化

各个层次的复杂度
摘要: 阅读全文

posted @ 2017-07-05 16:38 dongtshj 阅读(202) 评论(0) 推荐(0)

抽象屏障——《计算机程序的构造和解释》
摘要:map是一种很重要的结构,不仅因为它代表了一种公共模式,而且因为它建立起了一种处理表的高层抽象。在scale-list原来的定义里,程序的递归结构将人的注意力吸引到对于表中逐个元素的处理上。通过map定义scale-list抑制了这种细节层面上的情况,强调的是从元素表到结果表的一个缩放变换。这两种定 阅读全文

posted @ 2016-02-22 11:57 dongtshj 阅读(526) 评论(0) 推荐(0)

用高阶函数做抽象——《计算机程序的构造和解释》
摘要:我们已经看到,在作用上,过程也就是一类抽象,它们描述了一些对于数的复合操作,但又并不依赖于特定的数。例如,在定义: (defined (cube x)(* x x x)) 时,我们讨论的并不是某个特定数值的立方,而是对任意的数到其立方的方法。当然,我们也完全可以不去定义这一过程,而总是写出下面这样的 阅读全文

posted @ 2016-02-22 11:47 dongtshj 阅读(533) 评论(0) 推荐(0)

过程作为黑箱抽象——《计算机程序的构造和解释》
摘要:可以看到,对于平方根的计算问题可以自然地分解为若干子问题:怎样说一个猜测是足够好了,怎样去改进一个猜测,等等。这些工作中的每一个都通过一个独立的过程完成,整个sprt程序可以看做一族过程(如图1-2所示),它们直接反应了从原问题到子问题的分解。 这一分解的重要性,并不仅仅在于它将一个问题分解成了几个 阅读全文

posted @ 2016-02-22 10:53 dongtshj 阅读(364) 评论(0) 推荐(0)

过程与它们所产生的计算——《计算机程序的构造和解释》
摘要:之所以写这篇以及之后的几篇笔记,主要是因为,当我读了《计算机程序的构造和解释》这本书的相关内容时,实在是觉得书中说的太TM有道理了!!! 不说出来都觉得浑身不舒服。。。,真的是这样(/ □ \) 我们现在已经考虑了程序设计中的一些要素:使用过许多基本的算术操作,对这种操作进行组合,通过定义各种复合过 阅读全文

posted @ 2016-02-18 10:42 dongtshj 阅读(454) 评论(0) 推荐(0)