自1984 年出版以及 1996 年的第二版以来,SICP 已被世界各地的大学和学院采用为教材,包括新加坡国立大学(NUS),该校于 1997 年引入了基于 SICP 的入门课程 CS1101S。在 1990 年代中期,Python、JavaScript 和 Ruby 等语言出现,它们与 Scheme 共享核心设计元素,但采用了更复杂的面向语句的语法,使用熟悉的代数(中缀)...
自1984 年出版以及 1996 年的第二版以来,SICP 已被世界各地的大学和学院采用为教材,包括新加坡国立大学(NUS),该校于 1997 年引入了基于 SICP 的入门课程 CS1101S。在 1990 年代中期,Python、JavaScript 和 Ruby 等语言出现,它们与 Scheme 共享核心设计元素,但采用了更复杂的面向语句的语法,使用熟悉的代数(中缀)...
2.第二个是将两个想法,无论是简单的还是复杂的,放在一起,并将它们放在一起,以便一次看到它们,而不将它们合并成一个,从而获得它们所有的关系想法。3.第三个是将它们与实际存在的所有其他想法分开:这被称为抽象,从而形成所有的一般想法。 ——约翰·洛克,《人类理解论》(1690) 我们将要研究计算过程的概念。计算...
当然,以这种方式求值程序将比直接在 JavaScript 中输入它们要花费更长的时间,因为涉及多个级别的模拟。 我们的程序由显式控制求值者机器求值,该机器由 JavaScript 程序模拟,JavaScript 解释器本身也在求值。 监控求值者的性能 模拟可以是指导求值者实施的强大工具。 模拟不仅使探索寄存器机器设计的变化变得容易,还可以监视...
这样的计算机,或者寄存器机,顺序执行操作指令,这些指令操作固定一组称为寄存器的存储元素的内容。典型的寄存器机指令将原始操作应用于一些寄存器的内容,并将结果分配给另一个寄存器。我们对寄存器机执行的过程的描述看起来非常像传统计算机的“机器语言”程序。但是,我们不会专注于任何特定计算机的机器语言,而是会检查几个...
《计算机程序的构造和解释》(SICP JS)的 JavaScript 改编是在新加坡国立大学(NUS)为 CS1101S 课程开发的。该课程由 Low Kok Lim 共同教授了六年,他的良好教学判断对课程和这个项目的成功至关重要。CS1101S 教学团队包括许多 NUS 同事和 300 多名本科生助教。他们在过去九年中不断的反馈使我们解决了无数 JavaSc...
NUS CS1101S:SICP JavaScript 描述:三、模块化、对象和状态(3)https://developer.aliyun.com/article/1427726 我们可以通过使用两个账户的序列化器来实现这一点,以序列化整个exchange函数。为此,我们将安排访问账户的序列化器。请注意,我们故意打破了银行账户对象的模块化,通过消息传递来暴露序列化器。下面的make_ac...
:book: 【译】NUS CS1101s SICP JavaScript 描述. Contribute to apachecn/sicp-js-zh development by creating an account on GitHub.
NUS CS1101S:SICP JavaScript 描述:一、使用函数构建抽象 CC BY-NC-SA 4.0 心灵的行为,其中它对简单的想法施加其力量,主要有以下三种:1.将几个简单的想法组合成一个复合的想法,从而形成所有复杂的想法。2.第二个是将两个想法,无论是简单的还是复杂的,放在一起,并将它们放在一起,以便一次看到它们,而不将...
我们的语言提供了一种将原始约束组合以表达更复杂关系的方法。我们通过构建约束网络来组合约束,其中约束由连接器连接。连接器是一个“持有”一个值的对象,可以参与一个或多个约束。例如,我们知道华氏温度和摄氏温度之间的关系是 9C=5(F–32) 这样的约束可以被看作是一个由原始加法器、乘法器和常量约束构成的网络...