February 2009


承蒙各位读者喜爱,《精通正则表达式》2007年出版至今,已经三次印刷了。不少读者在来信提供勘误建议的同时,也反映原有的勘误列表结构不够清晰,勘误没有区分版次,使用起来不够方便。每次收到这样的来信,我都深感惭愧。

所以我制作了Excel版本的《勘误列表》,列出了到目前为止收集的所有勘误,并列出各个版次所对应的勘误,希望能给广大读者提供方便。

《精通正则表达式》(第三版)勘误列表下载:MRE_errata.xls

P.S.

要感谢博文视点的晓菲,她帮我调整了Excel的版式。

使字句,也就是“xx使xx如何如何”的句型,已经在译文中泛滥开来。不信,随手挑几篇译文,使字句随处可见:

玉米的高产使玉米价格的大幅度下降,从而常常使农民如果得不到政府补贴就无法继续维持玉米的种植。
她的名字叫雷切尔,正是这个名字使我虚度了整个中学时光。
曾有一次,她给我寄去了一张身着泳装的照片,使得我对她的爱痴狂得简直想入非非了。使常规的活动多样化更有利于减弱享乐性适应的影响。

“xx使xx如何如何”,对不少译者来说,已经如膝跳反射一样正常。使字句泛滥的现象,众说纷纭,这里不多讨论;我想说的是,真正流畅通达的高质量译文,往往很少出现使字句——即便使字句的已经成为“约定俗成”的语法现象,大多数情况下,还是会造成思维的梗阻,因为“xx使xx如何如何”的思维,并不完全符合中文的习惯。

我们翻阅词典,会发现很多动词都解释为“使xx”,在英文中,这是没有错的。因为英文惯用名词做无生物主语,即便不明确使用make、enable、prevent、keep之类的动词,在直接翻译成中文时,要衔接顺畅,也离不开“使”字,下面举几个例子(需要指明的是,我们说英文时,必须特别留意这样“名词做无生物主语”的情况,才能说的地道,“洋味才浓”):

If you take this medicine, you will feel better.
This medicine will make you feel better.

He can do anything because he is rich.
His wealth enables him to do anything.

Whenever I see the orphan, I remember her parents.
The sight of the orphan reminds me of her parents.

We could not start because of bad weather.
Bad weather prevented us from starting.

以上四组例子,前一句是“中式英语”,后一句是“地道”的英文,按照时下流行的翻译思路,必然离不开“使”——“使你觉得”,“使他能够”,“使我想起”,“使我们不能”。

那么,翻译成中文,难道离得开“使”吗?况且,中文本身也有“使动”的用法啊。

不错,中文的确有“使动”的用法,譬如大家耳熟能详的“既来之,则安之”和“劳其筋骨,饿其体肤,空乏其身”,但是据我观察,一方面,中文的“使动”并不常见,至少不如现在翻译体的使字句那么常见;另一方面,中文的“使动”,并没有英文“使”句型那么严谨的逻辑关系:“安”、“劳”、“饿”、“空乏”,并不用于连接两个对象,更多的是描述状态的改变,与英文中“A导致B”的固定形式还是有所不同的。
英文的“使动”拿到中文里会显得别扭,原因或许就在这里。

那么,我们在翻译时,该如何避免泛滥的“使”字句呢?这个问题困扰了我很久,以前也写过《“使”来“使”去,“使”向何方?》,但还是不够满意,最近似乎想明白了点,把结论写在这里,供大家参考。

英文中的“使”字句,一般是表示“A导致B”的情况,也就是两件事情之间的逻辑联系;明确了这一点,遇到大部分“使”字句,我们不妨快刀斩乱麻,只需要理清头绪,把两件事情前后列出来即可,甚至可以省略连词(不用“因此”之类就可以表示因果关系,也是中文的特点之一,正如英文一定要有and,而中文可以直接说“笔墨纸砚”、“柴米油盐”一样):

仍然是上面四组例句,以下分别列出用“使”的翻译和不用“使”的翻译:

这药会使你觉得好些。
你吃了这药就会好些。

他的财富使他能够做任何事情。
他有钱,什么都能做。

见到那孤儿,使我想起了她的父母。
一见到那孤儿,我就想起她的父母。

糟糕的天气使我们无法动身。
天气很糟糕,我们无法动身。

常有人说,语言是活的,有如河流;可是我想,活,不等于无规矩可循,纵使河流,也须依河床前行,恣意放纵,也会泛滥成灾(英文也是如此,blond hair不能说yellow hair,heavy rain不能说strong rain,虽然“意思”是没错的)。这个处理“使”字句的办法,可以应付日常翻译中遇到的大部分“使”字句了,有兴趣的读者,不妨一试。

我以为,要做好翻译,以下几个方面,是很值得注意的:

首先,要有良好的英文阅读能力。

切莫以为能“大致看懂”原文,再查查字典,就可以做翻译了。我们做翻译,通俗点说是要“改换形式,传达相同的信息”,而信息在传导过程中必然会有损失,译者应当竭力避免这种损失:“断断续续”地听人说话,或许能大概明白意思,但这并不是说,原文的意思只需要“断续”的片段就可以表达,而且如果我们把这些“片段”再次表达出来,原文的意思就损失得更多,留下的也就更少了——结果,译文的读者只能接受到“片段之片段”,自然无法理解。

良好的英文阅读能力,要求译者能够基本完整准确地理解原文——包括文章要传达的思想,单词的确切含义,结构的组织,以及“文字之外”的其他内容,譬如语气、双关、典故……这样才能保证译文读者尽可能多地接受原文的信息。当然,要做到这些很有难度,但是,我们不能忽视这些信息——至少要能感觉到:你或许不明白典故的来龙去脉,但至少要能判断出这里有一个典故,然后才有可能去弄清楚这个典故,而不是置若罔闻、视若无物。

缺乏英文阅读能力,译文也可能很通顺,但根本谈不上翻译,仅举两例:

the longest bar(sell drinks)翻译成“最长的酒吧(卖饮料的)”。我们都知道,bar可以指“条、棒、酒吧、吧台”,原文作者也清楚这点,为了避免混淆,特地注明是“卖饮料的”,所以理所当然是“吧台”,翻译成“卖饮料的酒吧”,就是没有弄懂原文。

economics in one lesson翻译成“一个教训中的经济学”,仅仅从字面来看,这是算不上错的,但如果我们具备基本的英文阅读能力就会知道,真正的意思应当是“一堂课就能说明白的经济学”(“经济学一点通”更直白,当然这是后话)。

(more…)

我很小的时候,在外出差的父亲给我写信,说“玩也要动脑筋”,这真让我头疼:玩就是玩嘛,动脑筋,那肯定是跟学习有关的,这怎么能扯到一起呢?我百思不得其解,甚至去找外婆评理。
父亲出差回来解释说:玩也要动脑筋,就是不要老停留在一个水平上,要想办法玩得更好,更有意思。
于是我明白了,“动脑筋”不只是跟烦人的学习有关的,各种问题其实都可以“动脑筋”。这些年来,随着经历的增长,我越来越深刻地体会到当年父母的一片苦心,也体会到四处“开动脑筋”的重要性。

去年,我有幸翻译了温伯格的《技术领导之路》,在书中,我遇见了同样的道理:

尽管风格各有不同,解决问题的领导都有一个共同点:他们都相信,总有更好的办法(there’s always a better way)。
这信念源自何处?伯特兰•罗素曾说,信念就是不需要证据的相信。尽管解决问题的领导可能是讲逻辑的,他们也不能用逻辑来证明信念。也许它源于他们之前的成功:聪明孩子能把坏事变成好事。这种成功强化了孩子对于思维的信念。以这种信念为依托,孩子就更可能想到更聪明的办法,解决下一个问题。熟能生巧,成功带来更大的成功,最终成就了解决问题的领导。

看来,“努力把事情做得更好”的重要价值,是大家公认的。然而,努力践行这一点,也是非常有难度的,这一点,我深有体会。
就拿我所从事的软件行业来说吧,工作中,我时常会有这样的想法:软件开发顶着朝阳产业的华盖,然而内部的规范性和秩序性实在不容乐观,甚至到了“粗陋”的地步,远远赶不上传统的工匠:设计随意、文档混乱、沟通缺乏、配合失当、效率低下、维护困难……,许多的所谓“高科技产业”,只是“使用高科技工具胡乱拼凑出来的劣质产品”而已(刘未鹏写过一篇有趣的文章《我们都是信息时代的远古人》,我看不妨借用这个标题:我们都是光鲜行业的蠢苦力)
究其原因,一方面是软件开发本身的问题(须知,软件乃是纯粹依靠人类的智力,“凭空”构造出来的复杂系统);另一方面,也与我们对自己工作的思考深度有关——即便软件开发本身是困难的,我们仍然能够开动脑筋,总结、反省、提高,一点点做得更好。这样的思考和反省,本身就是非常难得也非常可贵的,但正是这样的思考和反省,提醒我们,自己位于向前延伸的时间轴之上,而不是一次次地在起点重复。
更可惜的是,长久以来,关于这些问题的论述,都被外国人所垄断。在中文世界里,“如何做好软件”,或许有许多人在思考,但经验的交流都还局限于口耳相传的方式,在知识的整体性、层次性和交流效率上,都很可惜。所以,当我看到《走出软件作坊》的时候,实在是大为惊喜。

我手上这本书,是在面世签售的前一天晚上,博文视点的周老师赠送的。赶回家已经是夜里两点来钟了,但捧起这本书就很难放下,这是一本包罗万象的书——从程序到架构,从售前到售后,从开发到管理,从销售到维护,完全涵盖了当前国内软件开发的各个方面。我相信,任何IT从业者都能从中见到许多困扰自己的问题,而且许多未曾接触过的问题,也会看得饶有兴致,并且为其中的某些观点、做法叫绝。看技术类的书籍,很久没有这种畅快的体验了,于是我想,这本书一定能吸引很多人的兴趣。

果然,这本书面市之后,引发了大量的关注。无论评价如何,这些关注本身,就证明书已经挠到了软件开发的痒处(正如它的英文名:The Itch of Software Workshop),引发了大家的思考。我以为,针对中国软件行业的现状来说,这就已经是重要的价值了。

《走出软件作坊》或许不是一本圣经,但它无愧于一个起点,为了走出作坊,我们需要这个可贵的起点。