《程序设计语言——实践之路》不仅用极清晰的笔触解释了语言的各种概念和实现细节,还仔细解释了计算机体系结构和编译器如何影响语言的设计和实现……。本书展示了程序设计语言如何居于计算机科学真正的中心,是跨越程序员和机器之间的深渊的桥梁。
——摘自Microsoft Research的James Larus写的前言
新版本的《程序设计语言——实践之路》是平衡教科书所需的三个质量要素(广度、深度和清晰性)的典范,它必然成为这一领域里的经典。
——Christopher Vickery, Queens College of CUNY
Michael Scott的Programming Language Pragmatics是一本很有价值的教科书,其内容涵盖程序设计语言、编译技术、软件系统的许多方面,甚至延伸到硬件体系结构等许多领域。出现这一情况的根源很明显:程序语言在计算机科学技术领域居于一种中心地位。程序是计算机科学技术里最核心的概念,而作为描述程序的语言,集中体现了程序设计和软件开发实践中形成的最有价值、最具普遍性的认识和技术。程序语言下接硬件体系结构,上承丰富多彩的计算机应用需求,既反映了开发者的专业发展和局限性,又受到实现的制约。这样,程序语言里很自然地浓缩了相关领域的大量知识和技术精华,要理解语言发展和演化的现状和趋势,也必然涉及与之相关的众多领域。本书作者熟悉这些相关领域,因此能在其中纵横驰骋,为我们展现了一幅有关程序语言的生动、全面,而又非常深刻的画卷。.
本书系统地介绍了程序语言领域的各种基本概念,介绍了语言处理方面的许多知识,不同的语言范型以及相关的理论和实践。在讨论各种语言特征时,特别仔细地考察了人们的评价和反思,阐释了各种特征的设计变化,以及理论和技术发展对语言形态和细节的影响。与此同时,本书还深入介绍了本领域的许多新发展、新问题和新技术。例如,作者用一章的篇幅深入探讨了面向对象语言的问题,不仅介绍了这类语言的外在形式特征及其价值,还特别仔细地讨论了这类语言中各种新的重要机制的实现技术,如动态方法约束、多重继承等等。用很长的一章深入讨论了并行性的历史和发展,以及与并行性有关的各种重要问题。第2版新增了有关脚本语言的一章,其中讨论了脚本语言的特点、应用和许多深入问题。书中还详细讨论了高级语言的加工过程,程序的静态连接和动态连接,以帮助读者理解这方面的情况。作者在书中既强调了重要的概念和理论,也特别重视各种特征的实现技术,并深入探讨了实现技术及其发展进步对程序语言设计的影响。应该看到,语言实现方面的许多技术都是最重要的程序技术,作者的这些想法也使本书成为一部很有价值的软件技术书籍。