Linux 版 (精华区)
发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标 题: ◇ 龙? 小熊? K&R?
发信站: 紫 丁 香 (Sun Nov 8 18:10:21 1998), 转信
寄信人: guest.bbs@hgluo.hust.edu.cn
标 题: ◇ 龙? 小熊? K&R?
发信站: 华南理工大学 BBS木棉站
日 期: Thu Feb 20 14:22:43 1997
;33m 龙 ? 小 熊 ? K&R ?2m
by 穆信成0m
理工术语本来就多,电脑术语更多。电脑科学领域的许多经典书籍,由於常常
被提到、问到,久而久之,就有了一些简称、□称。提到我们的C 语言课本,很少
人中规中矩的说「The C ProgrammingLanguage」的,都说「K&R」。在comp.lang.
scheme 里面你不说″SICP″而说″Structure and Interpretation of....″的全
名就等於告诉人家「我是新来的」。什麽是「龙书」?什麽是「小熊书」?不知道
这些□称(或著该算是「黑话」?),你就落伍罗!
;35mK&Rm 这本The C Programming Language相信大家再也熟悉不过了。英文书常用
作者的姓氏加以称呼,由C语言的设计者Brian W Kernighan 和 Dennis M
Ritchie写的这本书通常被称作 K&R。这本书被视为 C 语言的圣经,所以
大家也喊它″C Bible″。 这本书不但是教 C 语言的课本,也是 C 语
言的定义,但也因此这本书并不好读。当作课本很好,对於其他书籍语焉
不详的部份可以在这里找到明确的定义;对於要自修的读者而言,读这本
书就比较辛苦了。
顺便一提这本书的序言:「C 是个小语言,但是在许多场合下,他可以表
现得和一些大语言一样的好」。
;35m龙书m Dragon book 有两本,第一本由 Alfred V. Aho 和 Jeffrey D. Ullman
所著。这本 Principles of Compiler Design, 封面上画著一只红色的,
西洋式的龙,上面写著「Compiler设计的复杂性」,另外有一个铁甲武士
正和它交战,身上写著「理论和发展工具」, 因而这本书被称为 dragon
book。 推出後反应良好。
数年後, 为了跟上 compiler 领域在这几年间的进步, 他们两人再加上
Ravi Sethi 又为 dragon book 出了续集 Compiler Design : Prin-
ciples, Techniques, and Tools。 不仅 compiler 领域内这本书被奉为
经典,几乎只要在和 compiler 相关的许许多多主题扯上一点关连的文件
中,包括系统程式,资料结构,正规语言等等,谈到深处後可能就会要你
去参考这本 dragon book。
;35m打棒球的人m 同样是 Ullman 的书,Principles of Database and Knowledge-Base
Systems。
;35mOS动物园?m Abraham Silberschatz 和 Peter Galvin 的Operating System Con-
cepts, 在封面上用不同的动物表示不同的 OS. OS/MVS 是一只大雷
龙,VMS 是一只三角龙,MULTICS 则是暴龙。在这些远古 OS 之後的
有用犀牛代表的 UNIX, 用一只直立奔跑的蜥蜴代表的 Mach, 和画成
老虎的 OS/2。至於 MS-DOS.... 是一只不知道是狗还是狼的动物...
;35m圆柱m 稍稍翻阅 Computer Architecture: a Quantitative Approach, 很快就
会感觉到这本 John L.Hennessy & David A.Patterson 所著, 封面画著
圆柱的书无疑的是计算机结构的钜作。如同它的标题所示,这本书强调的
是硬体设计需要有数字的分析,而不是凭直觉。这本书指出了许多设计上
常见的的陷阱和谬误,对计算机结构设计界震撼不小。同样的作者後来出
了一本架构类似, 较简单的入门书, 就是现在系上计算机组织课所用的
Computer Organization & Design.
;35m小熊书m Ravi Sethi的这本Programming Languages, Concepts and Constructs是
programming language 领域的有名著作, 封面画著一只小熊站在床边玩
电脑。
;35mFoundations of Computer Sciencem
很难得能有像 Ullman 和 Aho 等人这样的大师合作, 来写电脑科学概论
的书。这本书的读者设定在初学电脑科学的学生,内容就是几个重要的基
础电脑科学领域,有基本的演算法,资料结构,离散数学,甚至数位系统
,很适合在计概课当课本用。
猜猜这本书的封面是什麽样子?中间是一只大乌龟,四只脚踩在四只大象
背上□□以前的神话相信世界是由这样的大乌龟和四只大象支撑起来的。
乌龟背上撑的是什麽呢?是一头龙,一只小熊,一只三角龙,一根圆柱,
和一个打棒球的人。:)
;35m紫皮书m 在Scheme语言(一种类似LISP的语言)的领域内, 这本 Harold Abelson,
Gerald J. Sussman 和 Julie Sussman 的 Structure and Interpre-
tation of Computer Programs 是另一本圣经,有著好多个□称。按照书
名字首简称为″SICP″; 由於书皮是紫色的, 所以被简称为″Purple
Book″; 由於这本书重要, 乾脆有人叫他「 The Book」! 够狂吧。在
news groups 的 comp.lang.scheme中,你说「我在 The Book(大写)中
读到了....」,大家就知道是这本书了。
SICP以Scheme语言为工具,目的却是教程式设计的观念和原则。读者可以
完全不懂电脑。这本书被入门者推崇著的同时,也被选作麻省理工学院的
电脑概论课教材,给许多完全不懂电脑的学生读,可说是很难得的。内容
包括了程序抽象,资料抽象,物件导向,资料流向程式设计等等。如果嫌
课堂上的程式设计教得太死板,非常建议你一读。
;35m蓝皮书m 记得 Smalltalk 这个语言吗? Smalltalk 原本想设计成一个简单得可以
用来教小孩子写程式的语言。 在八年的发展後,Xerox终於决定正式把这
个语言公开,因而造成了这一系列书籍的诞生。这本 ″Smalltalk-80 --
The Language and Its Implementation″ 由 Adele Goldberg 和 David
Robson 所著,被称为 Blue Book。和 K&R 一样,这本书不但是课本,也
是 Smalltalk 语言的定义。 可以想见,这本书一定同样的重要,但也同
样的不容易读,在读这本书之前最好找一些介绍性的书籍当先修。
;35m橘皮书m Smalltalk-80 -- The Interactive Programming Environment, Small-
talk系列的第二本,Goldberg著。 介绍如何使用Smalltalk的程式设计环
境。
;35m绿皮书m Glenn Krasner 所著,Smalltalk 系列的第四本,给要实作 Smalltalk的
发展者看的。
Smalltalk系列计划中的第三本本原应该描述Smalltalk应用程式的图形界
面和互动环境,然而并没有成书,使得这方面缺乏正式的文件,十分可惜。
这是我目前所收集到的资料了。听说 UNIX 界还有一本重要的「黄皮书」。有没有
同学愿意补充的呢?:)
;36m References0m
[Abelson & Sussman 1985] Abelson, Harold & Sussman, Gerald Jay &
Sussman, Julie,1985, "3mStructure and interpretation of computerm
3mprogramsm", Cambridge: MIT
[Aho & Sethi & Ullman 1985] Aho, Alfred V. & Sethi, Ravi & Ullman,
Jeffrey D., 1985, "3mCompilers : principles, techniques, and toolsm",
S.l. Addison-Wesley
[Aho & Ullman 1992] Aho, Alfred V. & Ullman, Jeffrey D., 1992,
"3mFoundations of computer sciencem", New York: Computer Science Press
[Goldberg & Robson 1983] Goldberg, Adele & Robson, David, 1983,
"3mSmalltalk-80 : the language and its implementationm", Reading, Mass.
Addison-Wesley
[Goldberg 1984] Goldberg, Adele, 1984, "3mSmalltalk-80 : The interactivem
3mprogramming environmentm", London Addison-Wesley Publishing Center
[Kernighan & Ritchie 1988] Kernighan, Brian W. & Ritchie, Dennis M.,
1988, "3mThe C programming languagem", 2nd edition, Englewood Cliffs,
N.J., Prentice Hall
[Krasner 1983] Krasner, Glenn, 1983, "3mSmalltalk-80 : bits of history,m
3mwords of advicem", Reading, Mass., Addison-Wesley
[Patternson & Hennessy 1990] Patternson, David A. & Hennessy, John L,
1990, "3mComputer architecture : a quantitative approachm", San Mateo,
CA, Morgan Kaufmann Publishers, Inc.
[Sethi 1989] Sethi, Ravi, 1989, "3mProgramming languages : concepts andm
3mconstructsm", Reading, Mass., Addison-Wesley
[Silberschatz & Galvin 1994] Silberschatz, Abraham & Galvin, Peter B.,
1994, "3mOperating system conceptsm", 4th edition, Reading, Mass.,
Addison-Wesley
[Ullman 1988] Ullman Jerrrey D., 1988, "3mPrinciples of database andm
3mknowledge - base systemsm", Rockville, Computer Science Press
--
m;32m※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: mtlab.hit.edu.cn]
--
Enjoy Linux!
-----It's FREE!-----
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.291毫秒