本书介绍程序设计语言的一般性原理和现代程序设计语言的具体细节,涉及一些最新的函数式语言和面向对象语言。与许多介绍性的教材不同,本书包括语言实现技术,语言语义基础和大量的习题,可作为编译原理和程序设计语言理论研究的参考资料。作为高年级本科生程序设计语言概论的教材,本书涵盖了2001ACM/IEEE-CS联合拟定的与程序设计语言相关的知识点以及1978ACM教程CS8科目的内容。本书新版本的目标是将详细而精确的语言资料和自本书1993年第一版出版以来程序设计语言在流行趋势和使用上的变化结合在一起,修改并扩充所涵盖的领域,改进并提高例子和习题的实用性,并尽量保留原有的结构。学生并不需要掌握任何一种特定的语言,然而,具有使用一种语言的经验对于本书的学习是有益的,当然,学生还应该学过数据结构和离散数学等课程。本书使用的主要语言有C,C++,Java,Ada,ML,Haskell,Scheme和Prolog,其他语言也略有提及。本书介绍了程序设计语言的一般概念,包括程序设计语言的语法和语义,涉及命令式语言、面向对象语言、函数式语言、逻辑式语言和并行语言等多种范例,分析了各种语言的设计原理和内在机制,讨论了语言的理论基础和实现时必须考虑的问题。本书可用于计算机及其相关专业学生的双语教材,软件与理论专业研究生相关课程的参考书,也可供计算机专业人员参考。