计算机程序的构造和解释之笔记(一)

缘起

这是一本MIT的本科教材,回想自己读本科的时候一直想读这本书,大概读了10页左右就放弃了。后面读研了读了第一章,做了一定习题,但是仍旧放弃了。其中,原因就不说,看来我也是拖延症患者。后面工作了,深感自己对事物抽象能力的弱,以及对自己没能够坚持做一件事情而痛恨自己。所以开始看SICP一书。

关于本书的书评

关于这本书的评论,这里就不多说了,再着不管什么样的书,只有自己去读去用才知道。总之,对于本书的评论两极分化,至于是哪一级,各位自行判断,我这里仅仅提供一些其他相关的评论,如下:

构造过程抽象概述

开始的时候就引用了John Locke的《有关人类理解的随笔》中的一段话,话语十分简洁而且让人受益,现在摘抄如下:

心智的活动,除了尽力产生各种简单地认识之外,主要表现在如下三个方面:

  1. 将若干简单认识组合为一个复合认识,由此产生出各种复杂的认识;
  2. 将两个认识放在一起对照,不管它们如何简单或复杂,在这样做时并不将它们合二为一。由此得到有关它们的相互关系的认识;
  3. 将有关认识与那些在实际中和它们同在的所有其他认识隔离开,这就是抽象,所有具有普遍性的认识都是这样得到的。

从上面这句话至少可以看出,我们认识事物或者对某件事情的理解可以通过组合、对照(比对)、抽象隔离等思维手段搞定。而第一章中关于《构造过程抽象》一章就是基本就是围绕上面这段话写。

基本要素

当我们需要解决工作上、学习上还是生活上问题时,往往需要知道一些基本的步骤,除非特别简单的问题可以一步搞定,否则需要将很多措施组合一步一步的解决。在程序设计的世界,需要处理两样东西:数据和过程。与现实世界中得问题和措施很像吧。想想我们在解决问题时候是不是运用了同John Locke描述的心智活动。在用程序解决问题也是一样的,如何去描述数据和对其操作的过程呢,毕竟计算机不懂我们所说的中文,它们之间沟通也有这一套语言,而这些语言必需有着三个基本元素:

  • 基本表达式:用于表示语言所关系的最简单的个体;
  • 组合的方法:通过它们可以从较简单地东西出发构造出复合的元素;
  • 抽象的方法:通过它们可以为符合对象命名,并将它们当作单元去操作。

过程抽象

在有了基本要素之后,就相当于我们有了一些基本的工具了。在我们面对比较难或者大问题时,自然而然会采取分解的动作来解决,就如同“大事化小,小事化了”。如何将大事变成小事,作者使用了求某个数的平方根问题来说明,将解决此问题的步骤进行分解,并且每一个过程完成了一件可以清楚标明的工作。这就是过程的抽象。

当我们采用方案去解决问题的时候,就需要评估方法的时效性了。现实世界考虑的比较多,比如时间、人力、资金等等。一旦涉及到人的活动就会变得复杂起来。而计算机的世界里,简化了很多,考虑时间和空间。毕竟人们关注机器啥时候给我干完活,啥时候出结果,我们需要投入什么硬件啥的。在我们学习数据结构或者算法的时候都会使用一个叫大O的方法来描述。而书中都是直接根据步骤或者分析程序来来推导,极为繁琐。而本书的作者却采用先描述过程的计算过程,也就是过程是怎么执行的,执行的形状是啥,比如,线性、递归(先展开后缩)、树型来描述,这一点超级棒,让人看着舒坦。

知道时效之后,我们就会想能不能将解决问题的技巧推广,就会去抽象、概括。后面作者求函数的零点、不动点一步一步介绍如何将过程作为参数(如同生活中的条件)、返回值(如同其他的帮助)。

结束

总之,我挺喜欢这本书,现在一直在看,最近刚把第一章看完,书上的demo也罢还是课后习题都写在我们电脑里面测试一番了。具体可以参考我的sicp项目

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容