1 / 13
文档名称:

侯捷 无责任书评 C++&oop.doc

格式:doc   大小:58KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

侯捷 无责任书评 C++&oop.doc

上传人:xunlai783 2017/12/18 文件大小:58 KB

下载得到文件列表

侯捷 无责任书评 C++&oop.doc

文档介绍

文档介绍:●书籍是永远的良师益友
过去十年中,有一件事最是奇特有趣:我於 1993 开始《无责任书评》专栏,介绍我所能够掌握的技术范围内的一些世界名着。这样的题材与文体,吸引了很多目光,也开创了某种先河。《无责任书评》夹杂对台湾电脑出版业的观点与评论,由於当时台湾电脑书的良窳程度极端不均(现在也是),初阶滥而高阶贫血(现在也是),我以程序员的角度所给的评论显得尖锐不群。
1998 年网际网路兴盛,我把所有电脑散文都移到网路上发表,范围扩及学****方向与学****态度(但不涉及细节技术)。过去的书评文章也重新整理了起来。各位可从侯捷网站上看到所有这些文章。
书评之所以受人欢迎,一方面在它的知识性,一方面在它的辛辣味。通常我的原则是只评好书(该说是「荐」而不是「评」了),所以辛辣味只藏在旁徵博引的明喻暗讽之中,或偶尔忍不住的一把火。一般而言,只要有丰富的知识含量,而不是单纯地将章节照录一遍,书评专栏就够吸引人了,辛辣味只是附带红利。诸君如想尝尝真正的川辣子,看看国外期刊的书评,肯定叫温良恭俭让的中国人频频抚胸,大惊失色。
好书之於学****尤其是自修),重要性自不待言,所以书评永远受欢迎。好书是一支钓杆,好书评则让你认识这支钓杆并告诉你到哪儿去买。单一书评固然好,如果能系列化、系统化、根据技术的演进与层次,铺陈一条学****的红地毯,就更有价值。过去我曾经分篇为台湾读者介绍过 C++/OOP 方面的许多好书。做为本专栏的第一篇,我决定将它们汇总结集,让你一次看饱买足。
●阅读之前
往下阅读之前,我想先谈一些打底的话。
第一,以下介绍的全都是外来书。各位购买这些书籍或许有经济压力,但毕竟它们都是成名已久的世界名着,我想,为读者开这扇窗绝对是很重要的。
购买这些书籍其实很方便,只要你有信用卡,连上亚马逊网路书店(买就怎麽买。我们的困难可能在於信用卡和书价。唔,加上运费真的很贵。
第二,在我少不更事的时候,读了一本好书并不会回头特别记下作者姓名。这是个绝对错误的态度。茫茫书海中该如何选书?第一次当然是到书店去乱枪打鸟,浪费一点子弹。但是你不能老停留在少不更事的阶段,你的子弹还有你的书架空间都很宝贵,你的时间更宝贵。牢记优秀作家的名字,是找好书的捷径。这其实也是写阅环境的一个进步表徵:让好作家有自己的品牌。
第三,OO(Object-Oriented,物件导向)领域,从编程到设计,可概分为 OOP(Progrmming)、OOA(Analysis)、OOD(Design)。目前国外十分成熟的 UML(Unified Modeling Language)属於OO 领域里头用来将设计概念表现出来的一种 notation
(符号表现法)。本篇文章只介绍到 OOP 这个层次(唯[Gamma95]稍属例外),这比较具体,也比较贴近大部份程序员。愈往上去愈抽象,愈接近软体工程或方法论。
第四,以下介绍的这些 C++/OOP 书籍,几乎成为我初步判断一个人在这方面水平的基准。一个具备数年经验的 C++ 程序员,或许自己能够摸索出「总是让 base class 拥有 virtual destructor」这样的准则,但初出茅庐的程序员,恐怕连 virtual destructor 是什麽都不甚有概念,更别说该如何正确运用它。如果他说他看过[Meyers98],我会比较放心他的水平。
有趣的是,我曾经在自己班上(学生从大二到研究生都有)做了一个调查。拥有这些书籍的学生人数并不多,而且老是同样几位。这让我感觉,强者恒强弱者恒弱,悲夫。就我和业界的广泛接触经验,我也发现,许多程序员离开学校後就不太看书了,或者因为忙碌,或者因为安於现况。专案做了不少,技术却没有精进太多。三两下招数一再用老,人特别容易空乏。请你打开这扇窗,你会发现巨着之所以为巨着,专家经验之所以为专家经验,是有道理的。愈是看了这些书,你愈会发现这些书的价值,并觉醒过去的一些愚蠢行为。
第五,下面开出来的书单都是我熟读过的,其中甚且不少繁体中文版是我翻译的,所以我放心推荐并接受质询。然而书海浩瀚,遗珠难免。
第六,为求方便,以下以学术界****惯的标示法,标示书籍代名。文中即使用这些代名。凡有中文版者,我会特别加注。
[Ellis90]: The Annotated C++ Reference Manual, by Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley, 1990. 447 pages.
[Gamma95]: Design Patterns: Elements of Reusable Object-Oriented Software,
by Erich Gamma, Richard Helm, Ralph Johnson,