程序设计语言

[美] Michael L. Scott

出版时间

2007-06-01

ISBN

9787121042980

评分

★★★★★
书籍介绍
这本书最打动人的地方,是它不满足于告诉你'语言怎么用',而是追问'语言为什么长成这样'。作者把编译器当作理解程序设计语言的钥匙:Fortran 的成功一半归功于它拥有出色的编译器,C# 若无微软撑腰或许难成气候,Ada 功能卓越却几乎被实现的复杂性拖垮——这些例子让读者意识到,一种语言的生死往往不止取决于技术优劣,还涉及经济、赞助与惯性。它适合那些不满足于'会用'、而想'看懂'的读者:无论是想打通编译原理与语言设计之间的隔阂,还是想理解为何命令式语言凭借性能占据主流、声明式语言又如何在抽象与可控之间拉扯。它不是入门速成,而是一本值得反复回味的'语言史与实现论'。
AI导读
核心看点
  • 融合语言设计与编译原理,深入解析工作原理
  • 涵盖汇编体系结构,满足无计算机组织基础读者
  • 新增Perl、Python等脚本语言讨论,紧跟时代
读者共识
  • 知识体系扎实全面,被誉为超越算法导论的经典
  • 深入浅出讲解语言设计规则,帮助读者不迷失
  • 翻译质量参差不齐,部分版本存在语句不通问题
精彩摘录
  • "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."
用户评论
很扎实的一本书
内容全面,简单清晰..
还好吧... 真厚 :)
9.1
大致翻看,下学期准备看的书之一
好多还是看不懂TT
翻译的不好,比如Garbage Collection 翻译成废料收集,具体的我就不举例了,保证你会吐血的,珍惜生命,请看原版
没有4星半,只好给5星了
囫囵吞枣读了一遍,有读懂十分之一么?不过仅从读懂的那部分来看就是好书。翻译稍微有点老,有些地方跟现在的术语翻译不是很一致。除此之外翻译还是很好的。计算机领域翻译质量高的书真是太难得了
求书
收藏