几则书评

《重构》

作者:Martin Fowler

译者:侯捷熊节

中国电力出版社出版

接着上面的意思,如果说孵化国内优秀作者有什么窍门的话,那么也许“从翻译入手”能算作其中的一个。虽然对比IT专家的平均收入,国内付给译者的稿酬颇让人猜疑——负责任的译者们工作是不是纯粹出于“宗教热情”?但抛开直接报酬,翻译工作的首要受益者仍是译者本人:这项任务迫使他直面处在技术与思想最前沿的原作者,展开一场内在的、严厉的对话,不可放过哪怕是一点儿含混模糊的地方。如果他认真对待译文(和他自身),他也就很可能成为在该领域用汉语思考和表达最深入的一个人。因此,每当我读到体贴、严谨的译文,我也都能从中听到国内同行奔向技术前沿的足音。

就是为此,我们也应该感谢以侯捷先生为代表的一批译者多年来的带动作用。他们的努力,使译著脱离了被若干老鼠会式的工作室把持的猥琐局面,使技术翻译的实践具有了某种程度上的本体意义。毫无疑问,“译者”地位的这种凸显,能在整条产业链中形成“三赢”局面:读者得以在流畅的汉语气息里体会技术思想,并借此降低机会成本,减小错漏和曲解带来的痛苦和困扰;出版商能够更轻易地树立起高质量品牌,提高客户的认知度和凝聚度;而译者个人则获得了业界宝贵的注意力。

回到原书本身,作者Martin Fowler是当前软件研发领域最有影响力的人物之一,他所主持的咨询公司Thoughtworks网罗了美欧两地的大量英才,被认为是业界的一种隐形主宰力量。谈一件专业论坛里发生的趣事:两个人就面向对象原则展开了讨论,但其中的一人突然发现对方的邮件地址属于Thoughtworks公司,不由得懊悔不已:“我居然教一个Martin Fowler的同事什么是面向对象——这简直就是对着唱诗班布道,在大江边上卖水了。”

而Fowler本人的声名,在很大程度上就建筑于本书。“重构”作为一种技术实践当然并非始自Fowler,但正像《设计模式》的作者们也曾自承,他们的著作只不过是对业已存在的实践总结和命名,Fowler的过人之处也就在于这种技术洞察力:经过他的点化和阐明,很多人原本日用而不自知的“重构”萌芽,长成了成熟而光彩四溢的一整套研发理念和指导原则。折服于Fowler卓越的表达力,我在读他的论著时总想到《创世纪》中那个著名段落:初人亚当第一次给万物命名,“那人怎样叫各样的活物,那就是它的名字。”Martin Fowler也近乎是自己领域里的亚当;对这样一种神奇的“命名能力”而言,也许“发明”和“发现”其实是同一回事。

《敏捷软件开发:原则、模式与实践》

作者:Robert C. Martin

译者:邓辉

清华大学出版社出版

同样属于倡导轻量级方法论的“敏捷联盟”,本书作者Robert Martin与Martin Fowler相比,作风就低调得多。这是一个更愿意在后台操纵的天才,虽然在众多专家中间有“Bob大叔”(意即大能人)的雅号,但对于普通开发者们,这位少产作家的名字原本多少还有些陌生。

本书的问世,似乎也是一个漫长、曲折的过程。书中的一幅漫画,图解了大家对这部耳闻已久的著作的渴待:一位来自大出版商的女编辑指着作者Bob Martin抱怨,“Bob,你去年就答应写完那本书了。”图中标明,这个尴尬的场面发生在1999年,但其实这本书将要推出的消息还在此前好几年就预告了出来。经过四次以上的书名更换,Bob大叔终于配合风行一时的“敏捷运动”把书名定为《敏捷软件开发》。而他似乎也觉得多年酝酿的文档、资料已经开始发出醉人的香味。于是我们在2002年等到了这部成名早于出版的大作。也就在当年,美国《软件研发》杂志把图书类的“震撼”大奖颁给了一贯低调的Martin。

经过这些年的素材积累,本书简直像一座不断扩建的古城,涉及的主题惊人地丰富,四下都散落着难以估价的珍宝。正如副标题“原则、模式与实践”所暗示的那样,书中至少涵盖了面向对象原则、设计模式、极限编程方法论这三个方面,其中的任意一个都已经足以构成比这厚得多的专著。但这本书的主要价值却并不在于它的广度,也不在于其中的任何稀有资料(如果熟悉Martin本人的网站,我们甚至可以在那里找到书中很多具体论述的初稿),而在于标题中排在最后的“实践”二字。实践是贯穿全书的核心智慧,通过引入大量的应用场景和实例,Bob大叔不仅把知识的利刃交到读者手中,还确保了读者真正在仿真环境中掌握了这利刃的用法和禁忌——以我看来,通过了入门阶段的开发者,如果不主动寻求这种基于“最佳实践”的“智慧”,那么也就很容易成为自己刚刚掌握的知识的牺牲品,在此后永远重复着这样的入门——淘汰的循环。恰恰是在这里,Martin的作品构成了开发者能力提升的最佳导引。

《Effective Java》

作者:Joshua Bloch

译者:潘爱民

机械工业出版社出版

说起来,这本《Effective Java》对国内读者并不陌生,一册在手,甚至会有些“倦客还乡”的意思。之所以这么说,首先是因为本书的写作本来就是对一个伟大传统的致敬:C++权威Scott Meyers的《Effective C++》系列开创了一种结合实践场景,深度解说技术内涵的写作模式。作者不必过多介绍背景知识,直接按照条目(“Item 1...Item 2...”)列出对若干技术要点的指导和告诫。这种组织内容的形式经济、直观,适合已走出初学阶段的读者深入技术殿堂,了解在复杂的应用场景(而不是廉价的例子程序)中的实际考虑和权衡。Addison Wesley公司出版的各部“Effective…”、“Exceptional…”似乎成了C++使用者们最钟爱的深入读物。因此,对于熟悉这一传统的读者来说,这本《Effective Java》(同样也由Addison Wesley出版)也就成了这个阵营的一个有趣的新兵:有些新奇,但更多的还是亲切。

读者对本书的熟络还来自作者。Joshua Bloch是大量Java核心源码的作者,目前Java语言事实上的领袖。有一回他曾经以“管子工”自况:要是一切运转良好,谁也不会想到他,但一旦某处漏水,管子工也就是第一个要负责、挨骂的。事实上,就是同样从事Java语言设计的同事们,在使用这门语言时也要时常向Bloch讨教。也许是真的不胜其烦,这位Java语言的管子工终于从幕后走出来,把经常被问到的内容总结成书。凭借他对这里迷宫般的管线的布局、转折、弱点的了解,本书自然不啻是金针度人。问世之后,《软件研发》杂志立刻授予它当年的“震撼”大奖。

《Microsoft.NET框架程序设计》

作者:Jeffrey Richter

译者:李建忠

清华大学出版社出版

同属业界扛鼎之作,也同样获得了出版者“亡羊补牢”待遇的,还有这部《Microsoft.NET框架程序设计》。本书也曾在2002年出版过另一个中译本,但随即劣评如潮,各种业内文献只好引用原书影印版而不是中译。一位读者曾在当年12月的《程序员》上,用近8000字的篇幅分析了那个译本的“七大缺憾”,并提出了“外版图书低水平的翻译问题,无形之中为国内从业人员和国外先进技术之间增添了一道不必要的屏障阻隔”的意见。出版社从善如流,因此李建忠先生——那位高屋建瓴而又细致入微的读者,也就成为本次质量大为改观的“修订版”的译者。

本书作者Jeffrey Richter是微软技术领域的几位金牌作者之一,他的名著《Advanced Windows》(后来的版本改称《Programming Applications for Microsoft Windows》)是Windows平台系统编程的经典之作;而另一部《Programming Server-Side Applications for Microsoft Windows 2000》更是从事Windows服务器端开发的程序员必读的著作。与很多顶尖微软技术作者一样,Richter并不直接受雇于微软公司,但与这个软件巨头保持着非常紧密的合作关系,曾经参与过多个版本的Windows和Office等核心软件的开发。既然能够透过这样的捷径洞悉微软产品诸多内幕,Richter也就凭借自己创办的公司Wintellect,提供针对开发者的咨询、培训服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值