Programming Language Pragmatics

Michael L. Scott

出版时间

2015-11-29

ISBN

9780124104099

评分

★★★★★
书籍介绍
这本书最独特的地方,在于它不教你如何写出某种具体语言,而是带你理解'语言为何如此设计'。作者反复追问一个常被忽略的问题:一种语言能否被高效编译,直接决定了它能否存活。Fortran 的成功、PL/I 与 Ada 的延续,背后往往不是技术最优,而是编译器投入、官方赞助与既有代码库的'惯性'。这种从'实现者视角'反推'设计选择'的写法,在同类书中极为少见。它适合已经写过代码、想要打通设计与实现之间鸿沟的开发者;但如果你期望读完就能多掌握一门语言的编程技能,可能会失望——它给你的是全景地图,而非操作手册。
作者简介
Michael L. Scott is a professor in the University of Rochester’s Department of Computer Science, which he chaired from 1996 to 1999. He is the designer of the Lynx distributed programming language and a co-designer of the Charlotte and Psyche parallel operating systems, the Bridge parallel file system, the Cashmere distributed shared memory system, and the MCS mutual exclusion lock. He received his Ph.D. from the University of Wisconsin-Madison in 1985.
AI导读
核心看点
  • 全面整合语言设计与实现,侧重语用学分析
  • 涵盖从范式到编译器实现的广泛主题
  • 新增类型系统及ARM等现代架构内容
读者共识
  • 公认的经典教材,讲解清晰,信息量巨大
  • 相比龙书更友好,适合入门语言设计领域
  • 理论性强,读完需结合实践才能掌握技能
精彩摘录
  • "Excellent Compilers. Fortran owes much of its success to extremely good compilers. In part this is a matter of historical accident. Fortran has been around longer than anything else, and companies have invested huge amounts of time and money in making compilers that generate very fast code. It is al"
  • "Economics, Patronage, and Inertia. Finally, there are factors other than technical merit that greatly influence success. The backing of a powerful sponsor is one. PL/I, at least to first approximation, owes its life to IBM. Cobol and, more recently, Ada owe their life to the U.S. Department of Defen"
  • "Declarative languages are in some sense "higher level"; they are more in tune with the programmers point of view, and less with the implementor's point of view. Imperative languages predominate, however, mainly for performance reasons."
  • "There is a tension in the design of declarative languages between the desire to get away from "irrelevant" implementation details, and the need to remain close enough to the details to at least control the outline of an algorithm. The design of efficient algorithms, after all, is what much of comput"
  • "Logic- or constraint-based languages take their inspiration from predicate logic. They model computation as an attempt to find values that satisfy certain specified relationships, using gaol-directed search through a list of logical rules. Prolog is the best-known logic language. The term is also so"
  • "The von Neumann languages are the most familiar and successful. They include Fortran, Ada 83, C, and all of the others in which the basic means of computation is the modification of variables. Whereas functional languages are based on expressions that have values, von Neumann languages are based on "
  • "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."
用户评论
为什么还没有中文版出来?
信息量好大……
cover to cover
The best textbook I’ve ever read.
下载
收藏