读书笔记(一) -- Structure and interpretation of computer programs

来源:互联网 发布:太平洋软件站官方网站 编辑:程序博客网 时间:2024/04/28 05:36

读完CPP Primer之后,打算开始参照刘未鹏在《怎样花两年时间去面试一个人》http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/一文中推荐的读书清单开始阅读。

首先是这本Structure and interpretation of computer programs,简称SCIP。这是一本1984年出版的经典教材,是20多年来MIT计算机编程入门课程的参考教材。一本计算机编程类的书籍,能够20多年来一直具有深刻的学习价值,其必有关于编程思想,方法论之类的深入透彻的阐述。读书前,我想是应该先了解这本书的核心价值是什么,从这本书中能够受益的关键内容是什么,以便更好的理解其阐述的内容。

好在这是一本经典教材,网上有很多人提供了关于阅读此书的一些看法:

kidneyball的blog里http://kidneyball.iteye.com/blog/922953:

除了上面那些直接就能想到的重要性,指针和递归的真正价值,在于那种你在学习它们的过程中,所得到的思维深度,以及你因为害怕在这些课程中被淘汰,所产生的心理抗压能力,它们都是在建造大型系统的过程中必不可少的。指针和递归要求一定水平的推理能力、抽象思考能力,以及最重要的,在若干个不同的抽象层次上,同时审视同一个问题的能力。因此,是否真正理解指针和递归,与是否是一个优秀程序员直接相关。“

”原来如此,SICP的目的,并不是教会我们如何去用LISP实现具体的算法,而是指导那些具有基本数学能力的学生,如何对“计算过程”(Computational Process)进行抽象


1.1.7 Example: Square Roots by Newton's Method

"The contrast betweenfunction and procedure is a reflection of the general distinction between
describing properties of things and describing how to do things, or, as it is sometimes referred to,
the distinction between declarative knowledge and imperative knowledge. In mathematics we are
usually concerned with declarative (what is) descriptions, whereas in computer science we are
usually concerned with imperative (how to) descriptions."

原创粉丝点击