三月,一年一度的SD West大会上,万众瞩目的第14届Jolt大奖终于尘埃落定。Jolt大奖素有“软件业
通用类图书
所谓“通用类图书”,是指适用于各种软件项目开发、而不拘泥于具体技术的书籍。Tom DeMarco和Tim Lister的作品《与熊共舞》(Waltzing with Bears,清华大学出版社中译本)拿到通用类图书的震撼大奖,当属众望所归。
风险越大,回报也越大――尤其是在软件行业里。逃避风险的企业将很快被竞争对手远远抛在身后。但是,由于管理者的不审慎,软件企业常常被置于一种尴尬的两难境地:要么承担风险而失败,要么回避风险而落后。实际上,如果不是因为风险管理的失位,大多数软件企业、大多数软件项目本来可以不必像现在这样窘迫。Tom DeMarco有一种特殊的本事,总能将大家都仿佛知道、却又感到模糊不清的道理讲得清楚明白,这当然得利于他在这个行业中浸淫数十年的经历。对于普遍缺乏风险意识的软件人来说,这本《与熊共舞》无疑有醍醐灌顶之效。
就在获奖名单公布的第二天,第一批中国读者就拿到了《与熊共舞》的中文译本,这里还有一个有趣的小故事。早在前年年底,原书还未面世、甚至连封面设计都尚未定稿之际,我就在Dorset的书单上挑中了它,决定将它作为我2003年的重点翻译项目。选中这本书的原因有二:一则我曾经翻译过DeMarco先生的《最后期限》,对DeMarco先生崇敬有加;二则为了这本书的名字――我和清华大学出版社那位编辑小姐恰好都姓熊,这个书名在我们这里又加上了多一层的意义。为了一个有趣的名字选上一本书,不料却撞上了Jolt大奖的未来得主,这也算是机缘巧合吧。
即便是DeMarco和Lister的大名,也掩盖不了其余几本“生产力奖”得主的光芒。Eric Raymond的《Unix编程艺术》(The Art of Unix Programming,电子工业出版社即出中译本)是自由软件社群一直翘首期盼的大作,这本讲述Unix编程思想的书凝结了Unix发展历程中的技术精粹,又由著名的“传教士”Raymond执笔,获奖呼声极高。另一本“生产力奖”得主则是来自“用本主义程序员”Dave Thomas和Andy Hunt的Pragmatic Starter Kit,这是他们给“用本主义程序员”的第一个入门教材,自然也大受关注。
从通用类图书的获奖名单中,我们隐约看到一些血统论的迹象:大师的作品总是杰作――我们当然还记得《最后期限》和《人件》,我们当然还记得The Pragmatic Programmer,我们当然还记得《大教堂与集市》。这样的血统论也给程序员们的偶像崇拜增加了几分合理性:只要跟着你信赖的偶像,他总会不断地为你指明方向。
技术类图书
Test-Driven Development的获奖,在Jolt大奖的历史上续演了一段“惟名论”的传奇:2002年,Alistair Cockburn的《敏捷软件开发》获得通用类图书生产力奖;2003年,Robert Martin的同名书籍荣获通用类图书震撼奖;同年,Kent Beck的《测试驱动开发》获得技术类图书生产力奖;今年,与Kent Beck这本书同名的Test-Driven Development也拿到了技术类图书震撼奖。整个故事如同宿命一般。看来,如果想拿到明年的Jolt大奖,一个不错的办法就是到今年的生产力奖得主中选上一本,然后写一本同名书籍。
如果说Kent Beck的TDD是测试驱动开发方法的战斗檄文,那么David Astels的TDD就是敏捷开发者们的战术手册――从它600页的篇幅就不难推知其详尽的程度。在书中,作者不仅巨细靡遗地介绍了JUnit的用法,还逐一列举出它在xUnit家族中的其他兄弟姐妹。但是,全书最吸引人的还是它的第三部分。在这一部分中,作者详细讲述了一个真实的Java项目如何从头到尾地进行测试驱动开发。如果你对于在现实世界里实施测试驱动开发还有所疑虑,这部分内容就该让你放心了。
“血统论”的传说在技术类图书这里终于不攻自破了――Kent Beck和Eric Gamma合著的Contributing to Eclipse尽管获得了提名,但最终一无所获,空手而归。选题略偏自然是这本书落选的原因之一,但这本透过Eclipse插件开发阐述软件开发思想的著作最终不入评委法眼,大概主要还是因为生不逢时――恰好遇上今年的竞争对手如此强劲。Scott Ambler是数据库敏捷技术方面的执牛耳者,一篇“数据库重构”的文章就足以在敏捷社群掀起轩然大波,Agile Database Techniques早已让不得不继续与数据库周旋的敏捷开发者们望穿秋水了。Code Reading也是同样大名鼎鼎,在Open Source蒸蒸日上的今天,程序员们不是一直在为“如何更好地阅读别人的代码”而上下求索吗?
不过,这两本书的名气加起来或许都比不上另一本生产力奖得主――Alan Cooper的About Face2.0。作为交互式用户界面设计的顶级大师,Cooper对于软件设计、尤其是用户界面设计有着精辟独到的见解,他的About Face一直被视为软件界面设计的里程碑。在这本书里,Cooper告诉软件开发者们:界面设计不仅仅是技术问题,甚至也不仅仅是美学问题,这里还有心理学、行为科学等领域的诸多知识。Alan Cooper的另一本大作《神经病管理疯人院》被中国的出版商改名为《软件创新之路》,中庸平和却失了风格。如果有出版商引进这本About Face2.0,但愿他们不要再修改这个书名――尤其是版本号。
震撼=潮流
在技术产品这里,我们可以从获奖者名单中看出世界的潮流。最出色的IDE是什么?Jolt大奖告诉你:是Eclipse。最优秀的框架是什么?Jolt大奖告诉你:是Hibernate。最有用的技术网站是什么?Jolt大奖告诉你:是IBM developer Works――从这份名单中你不难看出另一个隐含的事实:去年最引人注目的技术平台和技术社群,就是J2EE。
作为软件技术的后进者,我们经常在说“紧跟世界潮流”,而Jolt大奖恰好就是一个世界潮流的窗口。在选择技术方向、选择产品架构、选择书籍时,如果选择了公认的杰作,你不仅可以得到最好的技术,还可以获得最丰富的学习资源。所以,如果你现在还不知道该如何选择,不妨看一看:是谁在震撼着我们的技术世界。