Having opened this cookbook, you are probably eager to inject some of the ungainly strings of parentheses and question marks you find in its chapters right into your code. If you are ready to plug and play, be our guest: the practical regular expressions are listed and described in Chapters 4 through 9.
But the initial chapters of this book may save you a lot of time in the long run. For instance, this chapter introduces you to a number of utilities-some of them created by the authors, Jan and Steven-that let you test and debug a regular expression before you bury it in code where errors are harder to find. And these initial chapters also show you how to use various features and options of regular expressions to make your life easier, help you understand regular expressions in order to improve their performance, and learn the subtle differences between how regular expressions are handled by different programming languages-and even different versions of your favorite programming language.
So we’ve put a lot of effort into these background matters, confident that you’ll read it before you start or when you get frustrated by your use of regular expressions and want to bolster your understanding.
Having opened this cookbook, you are probably eager to inject some of the ungainly strings of parentheses and question marks you find in its chapters right into your code. If you are ready to plug and play, be our guest: the practical regular expressions are listed and described in Chapters 4 through 9.
当打开这本书的时候,你或许想将从此书的某些章节里找到的用括号和问号构成的生僻字符串放到你的代码里,如果你准备好用这样的方式即插即用,那么你就是我们的客户:4到9章将介绍实战用的正则表达式。
having opened的时态没有翻译出来;ungainly的意思是”难看、笨拙的“,翻译错了;”你或许想将从此书的某些章节里找到的用括号和问号构成的生僻字符串放到你的代码里“太长,应当切开;plug and play翻译为”即插即用“有点奇怪,可考虑改为”随查随用“、”即抄即用“;be our guest的意思弄错了,应当是”请随意“;practical的意思不是”实战“,而是”实际用得上的/有实际用途的“,list and describe不能简单用”介绍“来翻译。
But the initial chapters of this book may save you a lot of time in the long run. For instance, this chapter introduces you to a number of utilities-some of them created by the authors, Jan and Steven-that let you test and debug a regular expression before you bury it in code where errors are harder to find. And these initial chapters also show you how to use various features and options of regular expressions to make your life easier, help you understand regular expressions in order to improve their performance, and learn the subtle differences between how regular expressions are handled by different programming languages-and even different versions of your favorite programming language.
而核心的章节主要是让你少走弯路。例如这一章将介绍很多作者写的工具,这些工具使你能够在正则表达式正式加入到那些错误难以掌控的代码之前做测试跟 调试。并且这些核心章节使你了解多种正则表达式之特性和选项的用法从而使你的生活更轻松,使你理解正则表达式从而能够强化正则表达式的性能,以及明白不同 编程语言甚至同种编程语言的不同版本在处理正则表达式上的细微差异。
in the long run没有翻译出来;initial的意思(两处)翻译错了;may的意思没表达出来;utilities只有一部分是Jan和Steven写的;”做跟踪和调试“的对象不明确,”错误难以掌控的代码“完全偏离原文,原文意思是”代码中的错误很难掌控“;”从而使“的说法太累赘,可直接改为”让你的生活更轻松“;”从而能够强化正则表达式的性能“累赘且搭配不当,可改为”提升/优化正则表达式的性能“;”以及“可改为”并“;最后一句的favorite没有翻译出来。
So we’ve put a lot of effort into these background matters, confident that you’ll read it before you start or when you get frustrated by your use of regular expressions and want to bolster your understanding.
所以我们花了大量精力来解决上述技术背景的问题,只是为了让你在开始或已经处于正则表达式的困扰并希望得到解脱之时能读到这本书。
“背景的问题”不通顺,可直接翻译为“背景知识”、“背后的问题”;“只是为了让你在开始或已经处于正则表达式的困扰并希望得到解脱之时能读到这本书”太长,应当把“开始”和“已经陷入困扰”切开为两个分局;bolster your understanding可翻译为“深化理解”,而不是“得到解脱”。
这是某本技术书籍中的序言,语言浅显直白,没有出现太多典故。一般的技术人员都可以读懂原文,但是翻译这类文字,需要更多的耐心和细致。
译文并不妨碍读者理解原文的主要意思,但小的缺陷很多,许多单词和短语的意思翻译错了,比如第二段的initial和favorite,或者干脆漏掉没有翻译,比如第二段的in the long run和may。对于序言来说,这些问题不大,如果是细致讲解原理的文字,这样的缺陷就非常要命,失之毫厘,差之千里。
译文的另一个问题是长句太多,比如“这些工具使你能够在正则表达式正式加入到那些错误难以掌控的代码之前做测试跟调试”,“使你理解正则表达式从而能够强化正则表达式的性能,以及明白不同编程语言甚至同种编程语言的不同版本在处理正则表达式上的细微差异”,在阅读时它们都会影响到读者的理解,应当按照中文的习惯拆分开来,比如第一句就可以拆分为“依靠这些工具,你事先测试并调试好正则表达式,再放入代码,因为在代码中找出正则表达式的错误更加困难”。
From Life Sailor, post 翻译漫谈:技术翻译
家长应当和儿童,尤其是低龄儿童谈论“空气动力学”吗? 我的答案曾经是非常肯定的:不应当。不要说儿童,就是成年人也不见得理解这些抽象的概念,与儿童谈论这些名词,只会让人望而生畏。身为父母,我们应当做的是,以孩子能理解的、感兴趣的方式谈论相关的具体问题,但绝对不要提这些大词。 不过世界的奇妙就在于,父母对教育并没有绝对的权威,总是需要根据实际情况来修正自己的观点。在“空气动力学”的问题上,我就吃到了教训。 那是一个下午,家里小朋友在iPad上看完他最喜欢的Blippi(这个节目我之前介绍过,对80后父母来说,Blippi可以理解为“带你见识各种新鲜玩意的董浩叔叔”),忽然抬起头来问我:“爸爸,你知道什么是aerodynamics吗?” “什么?你问我知不知道什么是aerodynamics?”我的下巴都要掉下来了。“空气动力学”这种词还是上中学时,身为军迷的我们在《航空知识》上知道的。再往后英语好一些,能看原版科普视频了,才知道“空气动力学”的原文就是aerodynamics。可是,我家这个还没上小学的家伙,竟然就能真诚地瞪大眼睛,一本正经地问我“知不知道什么是aerodynamics”。 (more…)
我本来是不应该认识孟老师的。 2001年,我在寝室夜谈里第一次听到孟老师的名字。当时有同学说“公共选修课的《法学概论》讲得真好,那个老师叫孟繁超”,开始我不怎么在意,慢慢才发现这么说的人还不少。那个年月网上的资料正丰富,出版管制也不那么严格,刚进大学不久的我正自由自在地看得过瘾,心想“大学里的法学概论讲再好,能讲些什么,还不是教科书上老一套”,所以这种课,不听也罢。 但生活就在这么奇妙。那年冬天,有天中午我吃过饭正准备午睡,忽然有人敲门问“计算机系有位叫余晟的同学在这里吗?” 大中午的谁会来找我?我正好奇这个问题,门一推开就有同学喊“孟老师,孟老师来了”。 那是我第一次见到孟老师,中年人,国字脸,身材高大,打扮很精神,披在身后的深色大衣让我一下子想起电影里的斗篷。他笑眯眯地说“你是余晟?听同学说你搞电脑很厉害,我家的电脑坏了,想请你去看看。” (more…)
中国人大概都对历史有一些特别的偏好。对我们普通人来说,历史首先是文化的象征,一个人“懂历史”,基本等于这个人“有文化”;历史也是民族自豪感的来源,哪怕考古上仍然存在争议,但是“五千年文明”的说法是普通人都耳熟能详的。 不过等我长大之后才发现,这种偏好大概还有更深层次的原因,那就是历史看起来有种道德的意味,因为我们从小就熟悉“以史为鉴”的智慧,也熟悉各种“历史的选择”:每当我们对现实感到失望、困惑的时候,我们经常去历史——而不是先贤的智慧中——中寻找解答。找到曾经发生的类似的故事,就可以预言未来的结局。 于是乎,失望也好、困惑也罢,总归会有光明的未来,历史总会给我们支撑的信念。 我曾经很相信,熟谙历史是种智慧,而且是深层次的智慧。但是看得越多、经历得越多,我就越觉得,这很难称之为“智慧”。 为什么? (more…)
“无人出租车要来了”。以百度“萝卜快跑”为代表的无人出租车,眼看就要在国内多个城市成规模运营。 熟悉IT的人都知道,IT的独特优势就在于“大规模扩展时边际成本极低”。在软件时代,微软开发的Windows,多卖一份的成本只是多刻录一张光盘而已。在无人驾驶时代,从10辆车到10万辆车的成本,也遵循同样的规律。换句话说,一旦模式“跑通”了,就可以迅速大规模铺开。无人出租车的大规模应用,也是“指日可待”了。 只不过,新技术这一次似乎没有那么激动人心,反而引起了很多争议——无人驾驶出租车大规模推广,会不会影响广大出租车、网约车车主的收入甚至生计?如果是,这样的技术进步,真的是我们所需要、所期待的吗?对于这个问题,不同的人有相差迥异的答案。 按照我的观察,许多人对此是相当乐观的。理由在于,“技术的每一次飞跃发展,虽然有阵痛,最终都创造了更多的新岗位”。既如此,无人出租车短期“看似”抢了许多人的饭碗,但也只是短期的“阵痛”而已。看看历史,纺织机的发明,蒸汽机的改良,汽车的诞生,无不证明了“阵痛说”的正确性。 坦白说,这种观点我是怀疑的。 (more…)
因为小朋友放暑假,近期带小朋友回国待了几个礼拜。最深的感受就是标题所说的:松弛一点,愉快一点。 我第一次突出意识到这点,是在上海下飞机乘地铁。当时我们乘的直梯就要关门,远远看见有个年轻小伙子跑过来,我连忙按住开门按钮,并招呼他”别着急,慢慢来“,等他进了轿厢才关门。本来我以为大家起码会打个招呼,露个笑脸,因为我已经习惯如此,但完全出乎我意料的是,他进来之后对我们完全视若不见,自顾自掏出手机,盯着看得入迷。 我继而发现,不管是在电梯里,站台上,还是车厢里,虽然四下里都是广播”请扶好站稳,抓好扶手,不要看手机“,但是似乎人人都盯着自己的手机。年轻人在打手机游戏,年纪大一点的在滑各种小视频,还有不少人在聊天软件里打字如飞……对着屏幕的表情都很生动,可是一旦抬起头来,似乎马上又换了个人。 后来又有一次,我乘地铁的时候,因为比较拥挤,一个小伙子倒退时踩了我一脚,他大概意识到了,很快把脚挪开,脸上闪过一丝不安,马上又恢复正常,我也没有计较。不幸的是,过了十来分钟,他又踩了我一脚,同样是先有一点不安,很快又恢复正常。 这次我忍不了了,于是我开口告诉他:“小伙子,你已经踩了我两脚了。” (more…)
前几天,国内朋友发来一条消息,原来是乌克兰F-16坠落,飞行员丧生的新闻。我本来以为他要讨论此事的真假和原委,他真正的问题却完全出乎我的意料: 新闻里说,飞行员叫阿列克谢·“月鱼”·梅斯,对应原文是Alexei “Moonfish” Mes,为什么会有人把“月鱼”写在自己的名字里,而且还打引号。 之前看新闻,乌克兰还有一个著名的飞行员叫安德烈·“果汁”·皮尔希科夫(Andrii “Juice” Pishchykov),怎么“果汁”也是正式的名字? 未必Moonfish和Juice之类,还有什么特别的含义吗?…… 这堆问题看的我有点想笑,因为自己以前也很苦恼外国人的名字,只有在国外长期生活,才逐渐搞清楚这其中的名堂。所以,除了解答朋友的问题,我也把自己的解释写下来,搞清楚两个最不容易理解的点,就不会对外国人名有那么多问题了。 (more…)
View Comments
第4-9章是实用的例子,你可以直接抄到你的项目里使用。
开始的这几章能帮你少走些弯路。如,使用本章介绍的许多调试正则的工具能帮你避免把 bug 埋得太深,半天找不出来。其中一些工具也是本书作者 Jan 和 Steven 写的。这些章节也通过向你展示正则不同的特性及用法,来教你如何对正则表达式调优;并了解不同编程语言,甚至你最喜欢的语言的不同版本的正则有什么细微的差别。
我们花了大量的精力解决这些背后的问题,只是希望能在你遇到难以解决的正则 bug 时能帮到你。阅读愉快!:)
你的这个版本比较流畅,虽然还有一些具体的说法我不是特别赞成,比如“也通过向你展示正则不同的特性及用法,来教你如何对正则表达式调优”,“通过……来教……”的结构跨度太大,可以把“通过”直接去掉。
感觉还是比较不错的