《精通正则表达式(第3版)》(即Mastering Regular Expression,3rd Edition)是一本好书。
我还记得,自己刚开始工作时,就遇到了关于正则表达式的问题(从此被逼上梁山):若从文本中抽取E-mail地址,还可以用字符串来查找(先定位到@,然 后向两端查找),若要抽取URL,简单的文本查找就无能为力了。正当我一筹莫展之时,项目经理说:“可以用正则表达式,去网上找找资料吧。”抱着这根救命 稻草,我搜索了之前只是听说过名字的正则表达式的资料,并打印了java.util.regex(开发用的Java)的文档来看。摸索了半天,我的感觉就 是,这玩意儿,真神奇,真复杂,真好用。
此后,用到正则表达式的地方越来越多,我也越来越感觉到它的重要,然而使用起来却总感觉捉襟见肘。当时是夏天,北京非常热,我决定下班之后不再着急赶车回家,而是在公司安心看看技术文档,于是邂逅了这本Mastering Regular Expression。该书原文是相当通畅易懂的,看完全书大概花了我一周的业余时间,之后便如拨云见日,感觉别有洞天——原来正则表达式可以这样用,真是奇妙,真是令人拍案叫绝。
此后我运用正则表达式便不用再看什么资料了,充其量就是查查语言的具体文档,表达式的基本模型和思路,完全是在阅读本书时确立的。也正是因为细心阅读过本书,所以有时我能以正则表达式解决某些复杂的问题。我的朋友郝培强(Tinyfool, 昵称Tiny)曾问过我这样一个正则表达式的问题:在Apache服务器的Rewrite规则中,要求以一个正则表达式匹配“除两个特定子域名之外的所有 其他子域名”,其他人的办法都无法满足要求:要么只能匹配这两个特定的子域名,要么必须依赖程序分支才能进行判断。其实这个问题,是可以用一个正则表达式 匹配的。事后,Tiny说,看来,会用正则的人很多,但真正懂得正则的人很少。现实情况也确实如此,就我所见,不少同仁对正则表达式的运用,不外乎从网上 找一些现成的表达式,套用在自己的程序中,但对到底该用几个反斜线转义,转义是在字符串级别还是表达式级别进行的,捕获型括号是否必须,表达式的效率如 何,等等问题,往往都是一知半解,甚至毫无概念,在Tiny的问题面前,更是束手无策,一筹莫展。
就我个人来说,我所掌握的正则表达式的知识,绝大多数来自本书。正是依靠这些知识,我几乎能以正则表达式进行自己期望的任何文本处理,所以我相信,能够耐 心读完这本书的读者,一定能深入正则表达式的世界,若再加以练习和思考,就能熟练地依靠它解决各种复杂的问题(其中就包括类似Tiny的问题)了。
去年,通过霍炬(Virushuo)的 介绍,我参加了博文视点的试译活动,很幸运地获得了翻译本书的机会。有机会与大家分享这样一本好书,我深感荣幸。500多页的书,拖拖拉拉,也花了半年多 的时间。虽然之前读过原著,积累了一些运用正则表达式的经验,也翻译过数十万字的资料,但要尽可能准确、贴切地传达原文的阅读感觉,我仍感颇费心力。部分 译文在确认理解原文的基础上,要以符合中文习惯的方式加以表述仍然颇费周折(例如,直译的“正则表达式确实容许出现这种错误”,原文的意思是“这样的错误 超出了正则表达式的能力”,最后修改为“出现这样的错误,不能怪正则表达式”或“这样的问题,错不在正则表达式”)。另有部分词语,虽可译为中文,但为保 证阅读的流畅,没有翻译(例如,“它包含特殊和一般两个部分,特殊部分之所以是特殊的,原因在于……”,此处special和normal是专指,故翻译 为“它包含special和normal两个部分,special部分之所以得名,原因在于……”),这样的处理,相信不会影响读者的理解。
在本书翻译结束之际,我首先要感谢霍炬,他的引荐让我获得了翻译这本书的机会;还要感谢博文视点的周筠老师,她谨慎严格的工作态度,时刻提醒我不能马虎对待这本经典之作;还有本书的责编晓菲,她为本书的编辑和校对做了大量细致而深入的工作。
另外我还要感谢东北师范大学文学院的王确老师,在我求学期间,王老师给予我诸多指点,离校时间愈长,愈是怀念和庆幸那段经历,可以说,没有与他的相识,便没有我的今天。
本书是讲授正则表达式的经典之作,翻译过程中,我虽力求把握原文,语言通畅,但翻译中的错误或许是在所难免的,对此本人愿负全部责任。希望广大读者发现错 误能及时与我和出版社联系以便再版时修正,或是以勘误的形式公布出来以惠及其他读者。如果读者有任何想法或建议,欢迎给我写信,我的邮件地址是: yusheng.regex@gmail.com。
如今正则表达式已经成为几乎所有主流编程语言中的必备元素:Java、Perl、Python、PHP、Ruby……莫不如此,甚至功能稍强大一些的文本 编辑工具,都支持正则表达式。尤其是在Web兴起之后,开发任务中的一大部分甚至全部,都是对字符串的处理。相比简单的字符串比较、查找、替换,正则表达 式提供了强大得多的处理能力(最重要的是,它能够处理“符合某种抽象模式”的字符串,而不是固化的、具体的字符串)。熟练运用它们,能够节省大量的开发时 间,甚至解决一些之前看来是mission impossible的问题。
本书是讲解正则表达式的经典之作。其他介绍正则表达式的资料,往往局限于具体的语法和函数的讲解,于语法细节处着墨太多,忽略了正则表达式本身。这样,读 者虽然对关于正则表达式的具体规定有所了解,但终究是只见树木不见森林,遇上复杂的情况,往往束手无策,举步维艰。而本书自第1版开始便着力于教会读者 “以正则表达式来思考(think regular expression)”,向读者讲授正则表达式的精髓(正则表达式的各种流派、匹配原理、优化原则,等等),而不拘泥于具体的规定和形式。了解这些精 髓,再辅以具体操作的文档,读者便可做到“胸中有丘壑,下笔如有神”;即便问题无法以正则表达式来解决,读者也能很快作出判断,而不必盲目尝试,徒费工 夫。
不了解正则表达式的读者,可循序渐进,依次阅读各章,即便之前完全未接触过正则表达式,读过前两章,也能在心中描绘出概略的图谱。第3、4、5、6章是本 书的重点,也是核心价值所在,它们分别介绍了正则表达式的特性和流派、匹配原理、实用诀窍以及调校措施。这样的知识与具体语言无关,适用于几乎所有的语言 和工具(当然,如果使用DFA引擎,第6章的价值要打些折扣),所谓“大象无形”,便是如此。读者如能仔细研读,悉心揣摩,之后解决各种问题时,必定获益 匪浅。第7、8、9、10章分别讲解了Perl、Java、.NET、PHP中正则表达式的用法,看来类似参考手册,其实是对前面4章知识的包装,将抽象 的知识辅以具体的语言规定,以具体的形式表现出来。所以,心急的读者,在阅读这些章节之前,最好先通读第3、4、5、6章,以便更好地理解其中的逻辑和思 路。
相信仔细阅读完本书的读者,定会有登堂入室的感觉。不但能见识到正则表达式各种令人眼花缭乱的特性,更能够深入了解表达式、匹配、引擎背后的原理,从而写出复杂、神奇而又高效的正则表达式,快速地解决工作中的各种问题。
余晟
2007年6月于北京
去青岛,是九月的最后几天做的决定。当时最想听的,是优客李林的《疗伤》。
现在看来,这个决定不错。
梧桐树荫下的道路,盘盘曲曲,上坡连着下坡,总是在意想不到的地方分叉;
花岗岩垒成的老楼,立在两片海湾的交界处,在上面张望,满眼都是绿的树,红的瓦;
多面体形状的屋顶,在侧面与侧面的交界处点缀上一个小小的斜面,就能平添几分趣味;
赭红色岩石堆成的海滩,海浪漫过来,如同铺上一层光滑的锦缎,退下去,露出千沟万壑的表面;
在海边坐着,迎着拂面而来的海风,从宇宙谈到时间,从休谟谈到维特根斯坦……许久未曾享受过的愉悦。
回头,才发现在感觉已经麻木,头脑已经迟钝。北京的生活,如同一重灰色的幔帐,把我和那些聪明、鲜活、愉悦、真切,统统隔离开来,如同上了发条的齿轮一般不停转动,反而有些迷失了自我。
读完了傅雷译的《欧也妮·葛朗台》,翻完了朋友塞过来的《屠夫看世界》,奇怪自己还能找到从前的感觉。
重新拿起王小波的《青铜时代》,居然读出了一些沉重的悲凉,未曾有过的经历。
大卫·利恩导的《日瓦戈医生》,看得唏嘘不已,不需要刻意否定什么,歌颂什么,感动观众,用美,用爱,只需要美和爱,就够了。
面对大海,会想到很多:
隐忍,啜泣、宽恕、祈祷……直到咽气。这是爱,是真爱,是天使的爱,以痛苦生以痛苦死的高傲的爱;
一瞬间,似乎悟到了自己的命运。我只有振翅高飞,努力往天上扑去,在祈祷中等待自己的解脱。
总是失眠,一两个月了,开始还如 Jbbox 说的一般 ,醒来的时候满脑子都是程序,现在醒来已经不知道自己想的什么了,只是睡不着,看来有更深层次的原因,只是我现在还不能体察到。
在家的时候,睡不着,父亲就会来给我按摩。按照《家庭按摩术》自己练就的手艺,虽然不如理发店的小工专业,却别有一重温暖的感觉——分不清到底是方法更科学,还是感情更醇厚;其实,也不需要分清楚。
又想到那双大手,那是经历了多少风霜、包含多少记忆的手呵:
他们曾陪父亲坐过一次次硬座,只为了用卧铺补助给年幼的我多买几个玩具;
他们曾在营口调试一整条全自动生产线,两个工程师,整整三个月,我的普通话,就是小时候在那里学会的;
他们曾抱回了整套《少年自然百科全书》,从那里面,我知道了门纲科目种属的概念,知道了生物还有个“学名”;
他们曾捧起过《鲁斯兰与柳德米拉》,捧起过《小驮马》,伴随着父亲富有感染力的朗读,我领略了普希金长诗的魅力;
他们曾无数次地握住龙头,见证了全家骑车去往市郊水库游玩的快乐;
他们曾在第一次组装矿石收音机之后几十年,又为我装了一台,至今,每每想到自己电路学的一知半解,仍然感到愧对父亲的一片苦心;
他们曾把住家门前樟树的树枝,为玩气枪的我在树杈里放上一个自制的枪靶;
他们曾抓过无数的昆虫、小鱼、田螺,采过无数的蕨,父母和我一起去田间草地玩耍的经历,回忆起来总是那样温馨和甜美;
他们曾拿起各式工具,对家具做出种种改造,小时候父亲曾把饭桌的腿各锯掉一截,这样高度就正适合我做作业;
……
他们也曾在父亲大怒时拍过桌子,包括对单位领导,也包括我;
他们也曾因为我考试成绩不够好,弹琴不够用功,决绝地锁上过家门;
他们也曾高举过皮带,那时候父亲高喊“你再去玩电游,看我不抽死你”,家里饭桌上的那个印记,保存至今;
……
回忆起来,总是零零散散,不成章法,然而每一点每一滴,都弥足珍贵;
那些恋爱、慈祥或者狠心的面容,给现在的我留下的,只有怀念和慨叹。
有些人说起“不得志”三个字时,总是带着几分酸溜溜的味道。对此,我是很不以为然甚至有些愤慨的:
一个人,一个堂堂正正的人,被束缚在狭小的单位,只能评助理工程师的职称,却要干许多“高工”不能干的活;
即使如此,做事认真,出了一点成果,也会被人嫉妒,遭人打压(大学里,我遇到政法学院待我如自家人的M老师,记得他在离开学校时曾有些自嘲地说过“你干得好,别人就会来整你,怪谁呢,还不是怪自己,怪自己出头了”,这几句话我简直铭刻在心);
况且,想要撒手甚至离开,竟然也不可得(早几年,领导上曾对父亲说“你就想退休,还早呢,至少我任上不要想这种事情”,言犹在耳)。
在这种情况下,“得志”已经成为永远无法企及的奢求,只有“不得志”,才是应有的正常的状态吧。
哈耶克在《通往奴役之路》里面讲,没有选择,就是奴役。他说的真对,真贴切。
坐公交车上班,行到中关村,听见一个闷闷的声音:
等等,别开门,我的手机丢了。
循声望去,说话的人三十岁上下,个子不高,稍微有些发胖,满头大汗,却有些不知所措,一看就是特别老实的人。
“干嘛不开门啊,八点半还要上班呢,迟到了谁给补工资啊?”
车厢后面,几位年轻女士已经开始抱怨了,看穿着,应该是在大公司上班的所谓“白领”吧。
“先别开门,我们有规定,乘客丢了东西我们也要负责的。”
售票员说了这话,后头的声音降了下去。
“现在不开门有什么用啊,那两个人早就下去了,”靠近车门的一位女士说,“下回自己小心点啦!”
“对啊,刚刚那站下去两个拿手包的人,就是他们,别找啦!”另一位男士附和道。
没有其他人说话,失主显然有些不知所措,又不甘心。忽然想起了什么,央周围人打他的手机,看看是否能有一线希望。
“呼叫转移——”,旁人把手机递给他听。
“丢了就算了呗,也找不回来了,别耽误我们上班啊”
……
“那——好吧,开门吧。”
“你确定开门啊?”
“嗯——嗯——唉——嗯,开门吧”
……
于是汽车依旧行使,好像什么事情也没有发生过。
不知怎么地,又想到路上随处可见的各种垃圾——饮料瓶、塑料袋、宣传单……,即使在二环以内,也是如此。上次从国贸出来,不禁觉得好笑:在这种垃圾满地走的地方,也有所谓“写字楼”,也生活着所谓“白领”?
还记得有一次,也是坐公交车,一位衣着光鲜的女士,随手就把窗户推开,那么旁若无人、大刺刺地把一团用过的纸巾扔出去,再优雅地关上窗户,这一番举动,看的我目瞪口呆,心惊胆颤。
古希腊时期,有一段著名的对话:
问:既然术业要有专攻,那为什么政治人人都可以参与?
答:因为女神赐予人类两样素质——正义感,和廉耻心,正因为人人都有这两样素质,政治才成为可能。
也许,正是因为缺乏正义感,也缺乏廉耻心,对我们来说,政治才成为不可能——只有权术,没有政治,因为我们不配。
看了看这几天的访问统计,发现从Google对《关于翻译的一点杂感》似乎比较感兴趣,大陆,台湾,香港,都有好几个关键词可以检索到,神气,再写一点,权当狗尾续貂吧。
这次主要谈一些具体的词语翻译,我以为很多时候译文看来生硬,问题就处在这些地方。
so…that…
这个搭配,照教科书,或者字典,翻译成“如此……以至于……”,是不能算错的。
但是,问题的关键在于,“如此……以至于……”本不是地道的汉语,顶多是能表达这种意思而已。而且,汉语中本来有表达这层含义的词语,只是翻译时需要考虑考虑,根据上下文选择。
因此,
He was so angry that could not speak any word.
我不会翻译成“他是如此生气,以至于说不出话来”,我会说“他气得说不出话”。
when……
When的含义有很多,通常都取“at or during the time that, while”的意思。因此很多人翻译的时候,一见到when,就条件反射地用“当xx时”取代。
我以为,这样有两大弊端:第一,When的含义有很多,根据Merriam-Webster’s Collegiate Dictionary 11th Edition,When的含义还有:2. in the event that : IF ;3a. considering that ;3b. in spite of the fact that 。其次,如果生硬地用“当xx时”翻译when,很多时候容易造成累赘,出现类似“当他有空,而你又没有空,而我又有空时”的句子,尾大不掉。
因此,遇到When…,我建议灵活处理,很多时候可以用“如果xxx”取代,不但更符合原意,也避免了尾大不掉的现象。
最常见的就是在关于条件的叙述中,我总觉得,“如果你发出一个请求而对方没有反应,就应该……”要好过“当你发出一个请求而对方没有反应时,应该……”。
harm
这个词我见过非常多的翻译,感觉都很别扭。原因似乎在于,译者无法摆脱“伤害”的束缚,翻译来翻译去,总是要跟“伤”或者“害”打交道——不是“损伤”,就是“损害”。
于是,“伤害性能”、“损害性能”之类的搭配,也就堂而皇之地出现了。
我以为,翻译harm时,不必受“伤害”这个词的束缚,也就是说,译文中不必出现“害”字或者“伤”字,因为不带这两个字的词,可以表达同样的意思,而且更自然。实际上,这也是汉语的特点之一——不需要用那么多“关键词”来串联和表达信息,读者自然能够体会。
因此,有时候我会把harm翻译成“影响”——本来嘛,汉语中的“影响”就包含这层意思,“影响了心情”、“影响了发挥”,我们平时就是这么说话的——“影响程序的性能”,“影响(干扰)市场的运转”,我觉得都要好过“伤害”和“损害”。
顺便再提一下sensitive
我初学C++时,总是无法理解“C++语言是是大小写敏感的”其中的“敏感”到底是什么意思,总是感觉非常别扭,后来查字典才知道,sensitive在这里全然不是“敏感”的意思,而是have the ability to feel, to sense,也就是说“有能力感知,有能力辨别”的意思。因此,正确的翻译似乎应该是“C++语言是区分大小写的”。
小结一下,我以为,很多时候“想当然”,拿着现成的模式“硬译”,一方面容易因为没有理解原文的真正含义造成差错,另一方面也容易造成译文的生硬,这种思维定势是我们在翻译中应当努力戒除的。
下面再说几个译文中常出现的词,我也有些自己的看法。
使
这个字现在可以说是用滥了,到处都在用。这或许是受"make"之类“使动”英文词汇的影响太甚,而汉语本身是不需要这么多“使”的,更不用说“使xxx得到了xxx”之类的准病句。
“这条路使城市的交通状况得到了改善。”
这种句子我看了觉得非常不舒服,完全不用那么折腾——“使”的施动者和“得到了”的受词,完全是主动-被动的关系嘛——“这条路改善了城市的交通状况”,这不是挺好吗?如果说用“使”是受了英文的影响,那么后一个句子里的“改善了”,不同样是及物动词吗?
而且,“使”的滥用,还容易造成另一个蹩脚的现象——一般人们说“使”,都会说“xx使xx如何如何”,“xx使xx不如何如何”(比如,“使我没有认识到”),这是很少见的。不过“使”字乱用之后,这样的句子也就不可避免的出现了——“他们直接使他从肉体上不能说话”(别笑,我还记得《姊妹革命——美国革命与法国革命启示录》里就有这样蹩脚的句子)。
进行了
这也是一个用滥的词,到处都在“进行”——“对他的名誉进行了诋毁”,“对产品进行了降价”,“对xx进行了慰问”……文字之美,损失殆尽。究其原因,大概在于,白话文受英文影响,把很多动词当作名词使用,比如上文中的“诋毁”、“降价”、“慰问”,而这些词本来是直接作动词,后面可以接宾语的——试想,“诋毁他的名誉”、“降低产品的价格”、“慰问xx”,是不是更简练,更自然?
早上看到一篇文章,名字是《寻找有意义的教育——一个北大毕业生的自白》。
题目挺大,可我总觉得不那么舒服。我是一贯反感大词的,即使面对这样看起来颇有些理想色彩的大词,也会心存警惕。
果然,通读全文,给我印象最深的,就是作者太过严重的的一厢情愿、越俎代庖的情结。
的确,在大学能够接触很多中学闻所未闻的东西,简直能够给人脱胎换骨的影响,于是产生了“改变基础教育现状的强烈冲动“,这都无可厚非,甚至是很好的事情。
但是,作者似乎太希望自己的“悲剧”不要在学生身上重演,太希望去“启蒙”学生,太希望去“改造”学生,因而“每接一届学生,我首先要做的就是给学生洗脑”,即使多次碰壁,仍然“没有否定第一阶段的教育理念,依然首先对学生进行‘洗脑’”,抱着这种不正常的想法去教学生,根本不讲究教育的方法和基本规律,注定是要碰得头破血流的。
把我在bbs上的讨论贴拿过来,放在这里:
晚生不才,但读书时学校开始的各种教育学、心理学课程,好歹也学了一点。
至少我明白,教育本身,是有内在的规定性和逻辑性的,“教育学”研究的,就是研究
教育规律的学科。这一点,在大学以前的教育阶段,体现的尤其明显——大学生的心智更为成熟,师生之间的交流完全可以更加平等,而中小学的教育并非如此,尤
其是中学阶段的教育,应当是非常讲究方法性和技巧性的。这篇贴子里头提到的“最近发展区”,就属于教育学中很基本的概念, 是中学教师应该掌握的。
当然,有人可能会说,甭拿那些概念来唬人,有的老师完全没学过也不懂那些玩艺儿,照样当得非常好。我想,
这多半可以解释为,他们在实践中摸索到了门道,或者说掌握了教育内在的规律,只是无法明确表达出来而已,并不是他们不懂。哈耶克让我们不要忽视“无法言传的知识”、
“墨会的知识”,原因就在这里。
扯远了,具体到本文来说,我认为作者对于教育本身,并没有很清晰的认识。姑且不论他对教育内在规律认识的贫乏,我以为他对手段和目的的关系都没有清醒的认识。
中学教育的目的到底是什么?
他的教育方式是否能够帮助学生达到这种目的?
似乎这些问题,他都没有思考过,或者说没有明确的答案。更多的是一厢情愿式的越俎代庖,因为自己的某种情结,就不顾对方的反应和感受,固持己见,我行我素。
不客气一点说,这是一个失败的教育者,一个不合格的教师。
发感慨或许可以激情万丈,义薄云天,但真正做事还是需要踏踏实实,认认真真。
有不对的,就要承认,有不会的,就要学习。
这是我的经验。
p.s.中学教育的目的是什么?我也没有完整的答案。
但我想,至少有两点应该确认:
第一点是培养学生正常的感情,包括对大自然的热爱,对生命的尊重,以及对美好事物和感情的追求和信仰;
第二点应该是培养好奇心,培养学生求知的习惯和欲望。柏拉图讲,一颗年轻而又充满好奇的心,很容易被哲学的蛇咬伤,一辈子摆脱不了。我倒不希望人人都“被哲学的蛇咬伤”,但是一颗年轻而充满好奇的心,的确很容易被真正的学问的蛇咬伤,这也是相当幸福的事情了。
这几天又看到有关盗版的Blog,尤其是virushuo的几篇blog:
盗版10年
再谈盗版
写的很不错,条理很清晰,我就不行,我那点三脚猫的能耐,只能瞎扯淡。
可是咱终究是耐不住寂寞,在自家blog里面撒撒野,写点儿东西,总不过分吧。
看了一些为盗版辩护的论调,觉得有几个问题需要说明。
很多人认为,“没钱”所以买盗版,这是无奈的,不得以的抉择。
初看起来的确有些道理,但是我认为,结合整个事件的背景,理清楚来龙去脉,就能够看出问题:事情并不是以“没钱”为原因,以“用盗版”为结果的。恰恰相反,“没钱”正是盗版存在的结果——在奔驰宝马面前,我们不会说“没钱买,所以我得去偷”,因为大多数人都知道知道,自己负担不起奔驰宝马,即使能负担得起,也没有那个必要去奢侈。
然而,盗版把几乎所有软件的获得成本降低到能够忽略不计的地步。于是,用惯了盗版,奢侈惯了的人,在正版的价格面前,自然容易产生“没钱,所以我要用盗版”的想法——而因果恰好在这里被颠倒了,不是因为你没钱,压根就是因为,那软件根本不该你用嘛。
也许,这话说出来有些难听。可是你仔细想想,学个C语言要用Visual Studio,学个图像处理要用PhotoShop,学个打字要用Office……而且还都要用最新最豪华的版本。我自己都觉得荒谬,这些高级玩意儿,本来就不是用来干这个的嘛——大奔是挺舒服,也不能用来拖蔬菜啊;陆地巡洋舰是挺好,也不能用来犁地吧?
还有人说,软件定价那么高,是一种阴谋,想要掠夺我们的财富。
在我看来,这也属于无稽之谈。
市场经济的一个特点就在于,卖方的劳动只有得到买方的承认,才能获得报酬。从这个意义上说,市场经济也是一种尊重人的、大致平等的经济。
那么,企业辛辛苦苦地开发出能给用户提供效率的软件产品,定价销售,怎么就叫“阴谋”,怎么就叫“攫取财富”了?觉得人家是“阴谋”,你完全可以不买不用嘛。
扯远点说,经济学上有个概念,叫做“消费者剩余”,即消费者对某个产品的最高心理出价和实际购买价格(也就是企业定价)之差。每个消费者在购买商品时都会获得剩余,至少不是赔本的。如果某个消费者的最高心理出价低于售价,就不会购买,因为没有人强迫你。企业的定价,本来就是希望尽可能多地榨取“消费者剩余”。如果一款软件定价过高,大多数消费者认为不能获得消费者剩余,“用脚投票”,开发公司就会因此蚀本,原因就在于制定了错误的价格政策,而与什么“阴谋论”根本扯不上关系。
再退一步说,国外不少正版用户还在用VS6,Win98等等我们早就“淘汰”的产品呢,人家计算机一样学的好,用的好。不让你用WinXp,VS.net的盗版,就是什么“数字鸿沟”“数字壁垒”了,多新鲜哪。
最后再扯点题外话,早几天我的朋友Patrick跟我说,他们母公司的日本人用Excel真是牛。因为用的正版,觉得花了代价,就要把所有功能,至少是对自己有价值的功能,全都利用起来。他给我看了一份日本人的Excel文档,非常详尽,智能化程度和美观程度,都是我从未见过的——实际上,我见过的Excel文档,绝大多数还停留在电子表格 6.0(就是九五年我在Windows 3.1上用过的Excel 6.0)的水平——不需要花代价,也就没有学习的动力。因此,至今还停留在只会画简单的课程表的水平,至今还停留在敲一堆空格去“对齐”文档的水平!
Update:
又看到一些言论,说如果不用盗版的某某软件,就根本没法开发,没法挣钱。
接着发一点感慨:
我在《盗版是打破垄断的利器么?》一文中指出,盗版的一大特点就是缺乏价格机制。弗里德曼告诉我们,价格有三种作用: 一是传递信息,二 是激励最有效的生产,三是分配产品。错乱的价格体系,必然带来信息、生产和分配的错乱,最终造就的,就是一个错乱的、畸形的软件市场。
说明白一点,我认为,如果软件产品的价格体系不是因为盗版而错乱的话,某些开发可能根本不会进行——因为“正常情况下”它们就是必定会蚀本的。这里,又一次颠倒了因果关系。
昨天上班时,一位朋友问我下面这个句子怎么翻译:
McData blames slow sales of its new Intrepid 10000 (i10K) director on confusion over its roadmap caused by its acquisition of Computer Network Technology Corp. (CNT) (Nasdaq: CMNT – message board)
考了几分钟,我的答案是:
McData认为,新推出的Intrepid 10000(i10k)导向器之所以滞销,原因在并购CNT扰乱了自己的发展规划。
发过去之后,对方连声说好。自己反复看了看,似乎也还行,比较通顺,基本的意思也都传达了。
回想一下,从大三考G之后,至今自己翻译的东西,也有二三十万字了,总归是有些感受,在这里梳理梳理吧。
关于翻译,我想,最重要的问题是,什么是翻译?
我赞成刘宓庆先生的观点,语言不过是表达思想的工具(或者说,语言是思维的外壳)。
翻译的过程,就是先通过原语理解作者期望表达的意思,然后用按照译入语的规范,将这种含义尽可能准确地表达出来的过程。
或许有人会觉得这个答案极为普通,但以我的经验表明事实并非如此。
在实际的翻译过程中,很容易地,也不自觉地,就会拘泥于形式,被词汇、句子结构所困扰,最终无法自拔(其实也就是拘泥于外壳反而偏离了本质),只能写出极其丑陋的“英式中文”,也就是余光中先生所批判的“畸形欧化”。
比如,上面这个句子,最常见的翻译,就是尾大不掉的“xxx将xx归咎于xxx的xxx”,被一个blames束缚了思维,而所有的修饰成分,全都用“的”字结构翻译,从句数目少尚且可以应付,数目一多,就出现“的的不休”了。
我曾经看过上海某翻译学博士翻译的Ayn Land的作品,打开就可以看到这样的诗句译文:
她好像一个单翼的天使一样。
我的感觉是,美感顿失,光华全无。中文本来没有严格的数量词规定,很多时候并不需要把a, an之类词翻译出来,更何况两个“一”字重复,颇为累赘。“她像单翼的天使”,“她像个单翼的天使”,“她好似单翼的天使”,我以为都比上面这个蹩脚的翻译好。
其次,翻译的标准是什么?
严复先生提出的“信、雅、达”三字标准,如今基本已被推翻。尤其是“雅”,严复的本意是按照他偏爱的桐城派散文的风格翻译英文。有学者提出“信、雅、贴”,“贴”即贴切,贴切原文,原文是何种风格,译文就要努力做到何种风格,这是比较可取的。
当然我更欣赏奈达的“等效翻译”理论。所谓“等效翻译”,指的是,对读者来说,译文能够产生和原文基本相同的效果——原文读者看到某一段落是何种感觉,译者就要力求让译文读者获得同样的感觉。可以说,思果先生反复告诫的“翻译要像中文”,也是这个意思。
“等效翻译”基本可以算作翻译观念上的一次革命,不过也存在很多问题。以我个人的感觉,对于同一文本,不同的译者获得的感受未必相同,因此对“效果”的理解从一开始就存在差异;其次,等效翻译往往需要考察不同语言环境的细微差别,奈达曾举例说,给爱斯基摩人翻译《圣经》中的话“像雪一样白”,话倒是完整的译出来了,但读者完全没有任何感觉——爱斯基摩人终日生活在冰天雪地,对于雪的白,他们有着尤其细腻的感觉,“雪有好多种颜色,怎能仅仅用一个‘白’来形容呢”。
话虽如此,但在这里要做到“等效”,恐怕必须对原文做比较大的修改,奈达可能支持这样做,我仍然认为修改太大有违愿意。
最后扯一点中英文的差异,纯粹是个人的感觉,狗尾续貂。
英文句子的逻辑结构是非常明显的,主谓宾、定状补,条理分明。如果能够梳理清楚这些结构,再难的句子也不在话下。余光中先生说,英文句子就好像一串葡萄,找到了脉络,就可以用两个指头拎起来。
中文则相反,除去“畸形欧化”的烂文,个人感觉纯粹的、自然的中文,是没有分明的逻辑结构的,与其说像一盘珍珠,毋宁说更像从个人思维中汩汩流淌出来的溪水。
举例来说,“英文句子的逻辑结构是非常明显的,主谓宾、定状补,条理分明”这个句子就完全是我用中文思维写出来的,后面三个分句与第一个分句之间,并没有紧密的逻辑关系,但意思是连贯、一致的。
因此,在英译中时,我一般都会把长句拆分为一组意义连贯的短句,以求符合中文的习惯。
其它的感想还有很多,今天先写这些吧。