程序设计语言
程序设计语言内容简介
这是一本很有特色的教材,其核心是讨论程序设计语言的工作原理和技术。本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要。书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之间的关系,解释了语言中许多结构的形成和发展过程,以及它们演化为今天这种形式的根源。书中还详细讨论了编译器的工作方式和工作过程,说明它们对源程序做了什么,以及为什么要那样做。书的每章最后附有复习题和一些更具挑战性的练习。这些练习的特别价值在于引导学生进一步深入理解各种语言和技术。 本书在美国大学已有使用了十余年,目前被欧美许多重要大学用于“程序设计语言”或者“软件系统”课程。本书适合高年级本科生或者一年级研究生使用,许多内容对专业程序员也很有价值。本书作者Michael Scott是计算机领域的著名学者,译者是北京大学的裘宗燕教授,他熟悉专业,译笔流畅,是一本难得的著、译双馨的佳作。
热门摘录
We have seen several examples already of higher-order functions: call/cc (sec continuations), for-each (Example 10.19), compose (Example 10.20), and apply (page 535).
First, much of the power of first-class functions depends on the ability to create new functions on the fly, and for that we need a function constructor: something like Scheme’s lambda or ML’s fn.
In effect, coroutines are execution contexts that exist concurrently but exe- cute one at a time, and that transfer control to each other explicitly, by name. Coroutines can be used to implement iterators (Section 6.5.3) and threads
Donald Knuth has suggested that programming be regarded as the art of telling another human being what one wants the computer to do [Knu84].
程序设计语言书评
还没人写过点评,快来抢沙发吧