Structure and Interpretation of Computer Programs - 2nd Edition (MIT)的笔记(32)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • 大句哥哥

    大句哥哥 (make pie, or invent universe)

    人类的活动大抵是离不开规划(program)的. 这要求, 首先心中有数, 其次执行有力. 若将规划编为一组供由计算机执行的离散符号, 可谓编程(我的理解). 易得: * => 程序设计是一种心智活动. * => 程序是一种媒介 To take advantage of the unsurpassed flexibility of this medium requires tremendous skill‑technical, intellectual, and esthetic. - Marvin Minsky 程序设计中牵涉到的3类对象: 人...

    2014-12-24 08:35   4人喜欢

  • 邻家のR君

    邻家のR君 (Hello world)

    In section 5.5 we will study a simple compiler that translates Scheme programs into sequences of instructions that can be executed directly with the registers and operations of the evaluator register machine.牛逼哄哄啊。

    2012-09-20 09:40

  • [已注销]

    [已注销]

    本节的核心在于“帧”(frame)以及“环境模型”(environment Model)下调用过程的的两条规则。 一个帧就是记录了绑定关系的一张表。它还记录了“包含”自身的那个环境。可以把帧之间的关系看做树,而“全局”就是根节点。 对一个符号求值,就在当前环境的帧里面查找,如果没有,则沿着这棵树往上,以此类推,直到全局环境。 因而在一个环境中绑定的符号,如果在所包含的环境中也被绑定,则在那个环境中对其求值时不会顺...

    2012-09-16 15:34   1人喜欢

  • [已注销]

    [已注销]

    一个对象的行为如果受到其自身历史的影响,则说它是“有状态的”。例如从一个银行账户取100元,可以取出100元——如果余额足够,也可以取不出——余额不足。这取决与该账户建立至今的所有交易。为了刻画状态,需要状态变量——余额。 对象的状态并非独立属性。对象间的交互会引发其变化,因而存在对象的“耦合”,比如从一个账户到另一个账户的转账影响两个账户的余额。大型系统中,将相紧密耦合的对象组织成子系统,而各个子系...

    2012-09-15 11:44   1人喜欢

  • 邻家のR君

    邻家のR君 (Hello world)

    MIT的视频课程提到了metalinguistic abstraction,也就是元语言学的抽象。Wiki的解释如下 举例来说:为一个机场建模,面向过程(C语言)的程序员会建造一个数据的结构体来表示机场的元素,还会建造函数去操纵这些结构体;面向对象(C++)的程序员会建造一个具有特定方法的对象去表示元素和他们的行为;函数式(Scheme)程序员会创建既表示机场中的元素也表示他们的行为的函数解决问题;而元语言程序员会通过创造一个有自己的基..

    2011-09-30 11:06   1人喜欢

  • Kevin

    Kevin (定力如磐,行者无疆)

    一直感觉 lisp 很强大,很灵活,但总说不清所以然来。如果一个知识点我不能用最简单语言解释,说明我没有掌握透彻。 为了搞懂别人在讨论编程语言的时候在讲什么,我又再次拿起这本书。 接下来我总结一下重看这几个章节的一些收获。 - 为变量命名,就是一种抽象,把概念提高了另一个层次。在更高层次抽象,写出来的代码更通用人,就像一个哲学原理通用于其他科学一样。 - 跟变量一样,写一个函数,本质上是对一段过程 (procedure...

    2018-04-02 08:30

  • 陈清扬

    陈清扬

    Our situation is analogous to that of someone who has learned the rules for how the pieces move in chess but knows nothing of typical openings, tactics, or strategy. Like the novice chess player, we don't yet know the common patterns of usage in the domain. We lack the knowledge of which moves are worth making (which procedures are worth defining). We lack the experience to predict the conseque...

    2017-06-05 02:49

  • Sam

    Sam (Don't Panic!)

    用set-cdr!实现reverse list: /代码内容已省略/

    2016-07-13 08:10

  • Sam

    Sam (Don't Panic!)

    为什么引入了赋值之后,函数调用不再能简单的用substitution model来对待: ... substitution is based ultimately on the notion that the symbols in our language are essentially names for values. But as soon as we introduce set! and the idea that the value of a variable can change, a variable can no longer be simply a name. Now a variable somehow refers to a place where a value can be stored, and the va...

    2016-07-11 15:22

  • Sam

    Sam (Don't Panic!)

    Substitution model and some notes: For compound procedures, the application process is as follows: To apply a compound procedure to arguments, evaluate the body of the procedure with each formal parameter replaced by the corresponding argument. The process we have just described is called the substitution model for procedure application. It can be taken as a model that determines the...

    2016-07-11 08:33

<前页 1 2 3 4 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Structure and Interpretation of Computer Programs - 2nd Edition (MIT)

>Structure and Interpretation of Computer Programs - 2nd Edition (MIT)