English

2004年度十大电脑图书

2004-12-22 来源:中华读书报  我有话说

《与熊共舞:软件项目风险管理》

作者:TomDeMarco,TimothyLister

译者:熊节马姗姗出版社:清华大学出版社出版日期:2004 3 20

在西方很多国家(包括我们的近邻印度),熊被当成一种观赏动物:它的绝技就是跳舞。训练有素的熊,能够在观众

面前熟练地表演转圈、弯腰等舞蹈动作,完全没有一点儿林中巨兽的狰狞态度。但俗话说,看人挑担不觉沉;看熊跳舞是一回事,与熊共舞则是另一回事了。本书的作者们就认为,软件开发中包含的风险,绝不亚于跟狗熊跳一支华尔兹。谁要是把这个职业当成儿戏,当成马戏团观众的安全享受,那么他恐怕也就很难终此一曲:步伐稍有偏差,狗熊的坏脾气可能就会发作了。

这个观察决非危言耸听,有多年以来软件项目的成功率统计为证。两位作者正是研究软件开发管理的国际权威,所以本书在北美出版后,那些命悬熊掌的开发经理们立刻奉为圭臬:作者们如愿捧回了最新一届的Jolt图书大奖。

那么,究竟怎样才是应付风险的正道呢?细察文意,作者们提出的无非是三个要点:首先要正视风险,对人对己诚实;第二在分析、控制风险的时候,要保持理性、冷静的态度;最后(但并非最不重要的),要掌握一定的分析模型和管理策略。对于那些能够彻底做到以上三点的开发者来说,与熊共舞和看熊跳舞,也许就是同一回事吧。

《软件工艺》

作者:PeteMcBreen译者:熊节

出版社:人民邮电出版社出版日期:2004 5 1

这是一本很有煽动力的书。作者的中心观点大概会令很多人吃惊:人们熟悉的“软件工程”的说法,并不适用于今天大多数的软件项目;对于小型的、民用/商业项目来说,软件开发与其是一种“工程”,不如说是一种“工艺”。

这当然是个引起争议的意见,虽然本书曾获得当年的Jolt图书“生产力”奖,但是它推行的激进方案也很难被传统的软件工程阵营所完全认可。我们在原书出版3年后的今天可以看到,一方面,多数软件开发企业的实际运营并没有按照书中预言和倡导的路线发展;另一方面,“软件工艺”的态度,也确实被越来越多的开源程序员和独立专家接受、遵循。也许可以说,本书的价值更多地在于作者的提问,而不是他本人的回答;如果读者们都能抱有更开放的态度理解“软件工程”和软件开发活动的实质,那么本书也就实现了自身的意义。

《道法自然――面向对象实践指南》

作者:王咏武王咏刚出版社:电子工业出版社出版日期:2004 10 1

在这本介绍面向对象软件开发的专著中,作者们只举了一个例子。不过碰巧,这个例子比较长―――从第一章讲到了最后一章。以上说法有点儿玩笑,不过也符合事实:书中的各章就是半虚构的叙述者“我(小W)”,与项目负责人老Z、同事小A一起,在3个多月的时间里进行一个小型软件项目(一个基于C 的GUI框架)时写下的开发日记。

所以,本书的实践意义首先来自这个贯穿全书的实例;读者打开第一章,就像是受到了同行的邀请和挑战,难免要把书中的小W当成真正的“我”、不由自主地加入到老Z、小A的行列中,和他们一道在一个个场景里神思苦虑、载沉载浮。在这个取材于真实世界的实例中,作者们对面向对象软件开发的若干主要环节:分析、设计、直至编码实现,都结合实例做出了精到的介绍和讲解。通读全书的读者会感到:书中涉及的抽象原则本身固然重要,但作者们所说的“软件开发之道”,更多地还是在于面对具体问题时应变权衡的实践智慧(phronesis)。

《企业应用架构模式》

作者:MartinFowler译者:王怀民周斌出版社:机械工业出版社出版日期:2004 7 1

早在2002年,MartinFowler就在个人网站上发布了本书的初稿。两年后的今天,中文读者也领略到了《企业应用架构模式》的真貌。事实上,即使是国内的开发者,也早就或多或少地受到了本书的实际影响:我们熟知的很多国外厂商最新推出的企业中间件产品,其中的技术组件都是按照本书中的规范命名的。

作者最初想到的书名是“ISA”(信息系统架构);目前的书名则是由出版商推荐的。每次想到这一点,我都不得不佩服这出版商的眼力:“企业应用系统”正是目前软件业的热点所在,加上Fowler大师级的技术底蕴和写作水准,这本书怎能不成为主流软件开发者人手一册的“新版圣经”呢?

《数据访问模式――面向对象应用中的数据库交互》

作者:CliftonNock译者:鄢爱兰王安鹏出版社:中国电力出版社出版日期:2004 6 1

我们谈到企业应用系统,就不能忽略其中“数据”的重要性。现存的大部分企业应用系统都是“数据库驱动的”,换句话说,数据访问的效率、可靠性,往往就决定了系统开发的成败。

本书遵循了名著《设计模式》的经典风格:主体部分被称为一个“模式目录”,其中给出的5大类、25种数据访问模式,覆盖了企业应用开发中所需的数据访问技术的主要方面。作者的写作也继承了《设计模式》以来模式类专著的传统风格:扎实、条理明晰、示例充分。

在《后记》中有一段作者的个人回忆:他谈起1995年自己第一次读到《设计模式》时的喜悦和感激。这段说明是感人的,它让人想到,所谓传统和经典,首先就应该意味着这样一种传递过程:喜悦和感激成为一代代人阅读、开发和写作的灵感和动力。

《程序员修炼之道――从小工到专家》

作者:AndrewHunt,DavidThomas译者:马维达出版社:电子工业出版社出版日期:2004 3 1

本书并非针对特定技术领域、开发工具,但又不是一部纯粹的“软件工程”论著。原书题目中的“pragmatic(实用的、实干的)”和译名中的“道”最精辟地表达了它的价值。作者们解释说,“pragmatic”原本是个希腊词儿,它的意思呢,其实就是一个“干/todo”字。但动“手”做事也不是胡乱上手就可以的,这需要“手艺”,需要思考、行事之“道”。所以本书虽然也是坐而论道,可谈的却不是那种“道可道,非常道”的玄理,不如说这就像荒山中的一串串足印:比如作者对代码生成、版本控制、需求获取等领域的考察,都会让走上这同一段山岭的读者感到既莫逆于心、又受益匪浅。作者们强调的原则(避免重复、提倡系统中的正交性和自动化等等)其实与目前流行的不少方法论颇多吻合,但是它们在本书中却融入了更详实、更具体的应用场景。通读本书的读者,也就能领略到优秀开发机构的真实工艺流程。

《编程珠玑》(第二版)

作者:JonBentley译者:谢君英石朝江出版社:中国电力出版社出版日期:2004 3 1

查找、排序、字符串处理,对于程序员来说,这些处于底层的问题是硌人的沙子;每次遇到它们,编程的效率就会降低、错误也会不请自来。但是,本书的作者争辩说,沙子并非一无是处―――只有沙粒落进蚌壳,珍珠质才会有所依附,形成人们珍视的明珠。在这个意义上,本书为程序员们提供了一座名副其实的宝藏。

本书的原型是作者1983年起为名刊《ACM通讯》所写的专栏文章。写到1985年,作者自感“咳珠唾玉”未免可惜,于是又下功夫梳理轮廓、连缀篇目,终于拼成了七宝楼台,出版了这部影响了几代程序员的《编程珠玑》。中译本依据的是1999年推出的第二版:一部近20年前的软件开发专著居然具有这样旺盛的生命力,这或许也说明“沙子”本身的持久性。即使有一轮轮技术潮水的反复冲洗,人们面对的总还是类似的沙子―――当然由此拾到的,也都是类似的珍珠吧。

《Linux内核完全注释》

作者:赵炯出版社:机械工业出版社出版日期:2004 9 1

开放源代码社群的成员之间有个习惯:如果谁谈到对系统的哪个方面还有吃不准的地方,别人就会建议:“去读代码吧!”代码之外,别无法门,这似乎已经成了富有创造性的开放源代码运动区别于平庸、守旧的商业开发的重要标志。Linux操作系统无疑是目前最知名的开放源代码软件。通读它的代码,不仅对开发者提高技术水准有实际意义,更重要的也许还在于,它构成了对我们求知勇气的测试和挑战。在这个意义上,“去读代码吧!”也是技术强者之间的相互召唤和邀请。

随着项目的不断成熟、扩展,当前版本的Linux代码早已超出了任何个人的实际阅读能力。本书作者明智地选择了0.11版的早期内核代码,在相当小的篇幅内给出了全部代码的详尽注释和解说。还是那句话:这首先是一本关于开源精神的书,其中体现的智识、勇气和彻底性,无疑值得我们的由衷钦佩。

《UML Java程序员指南》

(中、英双语版)作者:RobertC.Martin译者:黄晓春出版社:清华大学出版社出版日期:2004 8 1

有一派哲学史观点认为,大思想家的作品,从来都有互相纠缠着的两重含义:一种是“显白的”、冠冕堂皇的教诲,另一种则是“隐晦的”、不足为外人道的秘传。软件开发大师RobertMartin的这本UML专著就让我想起了这种诡谲的二元论观点。我当然不是说,本书的行文非常晦涩、思路特别隐微―――恰恰相反,作者的文风还是一如既往地明晰和生动,而他正是用不可错认的风格表达了UML自身存在的两难:应该使用UML,但也应该抛弃UML。

UML语言作为一种通用的建模工具,正在获得越来越多的青睐。而本书作者提醒我们,应该对这种一拥而上的狂热劲头儿保持警惕。UML作为一种辅助开发工具是可贵的,但若是变成了一种尾大不掉的、根本没人看的繁文缛节,那就反而失去了使用它的本意了。所以书中特别强调了UML图画到什么时候就该停下、什么时候应该抛开UML、什么时候根本不该使用UML。还是哲学家们说过:任何有效的思想都像梯子,上楼后就该抛开。作者Martin眼中的UML,大概也就是这样一架梯子罢了。

《Word排版艺术》

作者:侯捷出版社:电子工业出版社出版日期:2004 10 1

“侯捷先生又出新书了。”这位来自宝岛台湾的编程权威,在内地开发者们中间也有着不可替代的影响力。人们已经习惯了每隔几个月迎来一本侯捷先生的新作―――不过这一次的体验还是有点儿特别:这本书很少提到软件开发,而是一本彻头彻尾的“办公软件教程”。

为什么需要这样一本书?今天的社会中,越来越多的人要和“电子文档”打交道:书稿、论文、技术文档、商业演示文件等等,无不需要我们精心设计版式、调整布局,以达到规范、美观、易读的效果。但是仍有很多人把Word之类的办公软件仅仅当成打字工具而已,由于这个偏见的存在,我们打开图书、函件的时候,往往大皱其眉:不论内容好坏,那些文档在“形式”上未免太不检点,简直像是穿睡衣上街的邋遢汉了。

为什么要由侯捷先生写这样一本书?几位从事技术出版的朋友很早以前就向我赞叹过:侯先生稿件的排版从不假手他人,几乎可以直接付印。读罢本书,我才真正明白朋友们赞许的道理:作者不但精熟于“电脑操作”(这是任何Word教程都能达到的目的),而且能够把Word软件针对排版应用的要点全盘托出―――这就是一般使用教程和专业“应用”教程的最大区别。不难想见,本书是从作者亲手处理几十部书稿后的经验中萃取而来的。标题中的“艺术”二字名副其实:读者不仅能学到,怎样实现这样或那样的效果―――他学到的尤其是,怎样才是“好的”效果。

有人调侃说,真拿不准侯先生下一本书会写什么了。会不会是小说?侯捷先生的忠实读者则说:没问题,只要是侯先生的书我都要通读,哪怕是小说。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有