《计算机程序的构造和解释(JavaScript版)》-哈罗德·阿贝尔森
本书主要介绍计算的核心思想,采用的方法是为计算建立一系列概念模型。主要内容包括:构造过程抽象,构造数据抽象,模块化、对象和状态,元语言抽象,寄存器机器里的计算等。采用JavaScript作为实例分析,但并不拘泥于对语言的解释,而是通过这种语言来阐述程序设计思想。第1章介绍了计算过程以及函数在程序设计中扮演的角色。第2章在第1章的基础上提供了将数据对象组合起来形成复合数据,进而构造抽象的方法。第3章介绍了一些帮助我们模块化构造大型系统的策略。第4章通过元语言抽象探究如何在一些语言的基础上开发新语言的技术。第5章从寄存器机器的角度出发,通过设计寄存器机器,开发一些机制,实现重要的程序设计结构,同时给出一种描述寄存器机器设计的语言。本书揭示计算机程序设计思想的实质是改变了人们的思考方式:从命令式的观点去研究知识的结构。因此,本书所阐述的设计思想不仅适用于计算机程序设计,而且适用于所有工程设计。