经典且广泛使用的文本的新版本,适用于JavaScript编程语言。
自1984年第一版和1996年第二版出版以来,《计算机程序的结构与解释》(SICP)影响了世界各地的计算机科学课程。这本书作为教科书被广泛采用,它起源于麻省理工学院哈罗德·阿贝尔森和杰拉尔德·杰伊·苏斯曼教授的一门广受欢迎的入门级计算机科学课程。SICP通过建立一系列计算心理模型,向读者介绍计算的核心思想。早期版本在其程序示例中使用了编程语言方案。第二版的这个新版本已经被改编为JavaScript。
SICP的前三章涵盖了所有现代高级编程语言所共有的编程概念。第四章和第五章使用Scheme为Scheme制定语言处理器,需要进行重大修订。第四章提供了新的材料,特别是介绍了程序解析的概念。第五章中的计算器和编译器引入了一个微妙的堆栈规则,以支持返回语句(面向语句的语言的一个突出特性),而不牺牲尾部递归。
本书中包含的JavaScript程序使用麻省理工学院出版社网站提供的JavaScript包sicp,在符合ECMAScript 2020规范的任何语言实现中运行。
Structure and Interpretation of Computer Programs: JavaScript Edition
A new version of the classic and widely used text adapted for the JavaScript programming language.
Since the publication of its first edition in 1984 and its second edition in 1996, Structure and Interpretation of Computer Programs (SICP) has influenced computer science curricula around the world. Widely adopted as a textbook, the book has its origins in a popular entry-level computer science course taught by Harold Abelson and Gerald Jay Sussman at MIT. SICP introduces the reader to central ideas of computation by establishing a series of mental models for computation. Earlier editions used the programming language Scheme in their program examples. This new version of the second edition has been adapted for JavaScript.
The first three chapters of SICP cover programming concepts that are common to all modern high-level programming languages. Chapters four and five, which used Scheme to formulate language processors for Scheme, required significant revision. Chapter four offers new material, in particular an introduction to the notion of program parsing. The evaluator and compiler in chapter five introduce a subtle stack discipline to support return statements (a prominent feature of statement-oriented languages) without sacrificing tail recursion.
The JavaScript programs included in the book run in any implementation of the language that complies with the ECMAScript 2020 specification, using the JavaScript package sicp provided by the MIT Press website.
OR