“语法糖”和“有机方法”
“语法糖”与“有机方法”?别奇怪,这两个词虽然不容易理解,翻译文章中却很常见。
语法糖,直译自“syntactic sugar”,原指“语法中的糖分”。Beginning Regular Expression的译者李松峰先生有专文讨论:
仁兄的认真精神,我非常钦佩,不过“Syntactic sugar”是否要翻译为“语法糖”,我却有不同看法。
在我看来,sugar固然可以翻译为“糖”,但英文语境中的sugar和中文语境的“糖”是否能对等,恐怕值得商榷——“糖”在英语世界是种普遍讨人喜爱的东西,甚至饭后都喜欢用甜点,而大多数中国人好像没有这种习惯。在中文语境中,让人喜欢的“糖”,更多是与小孩联系在一起的,在成人世界,倒是有一个类似的说法,叫“甜头”。所以,如果直译,不妨翻译为“语法甜头”,比“语法糖”,更容易理解,更自然。
既然把握了原文要传达的意义,我们甚至可以再进一步,突破形式的樊篱,直抵问题的核心——Syntactic sugar翻译为“语法诀窍(窍门、捷径)”,虽然与“糖”相差十万八千里,却更贴近原文的意思。有人或许会问,那“sweeter”怎么翻译呢?将计就计,直接翻译为“更顺手”就好了嘛——当然,一般情况下能这么用,如果是专文讨论“糖”,加上什么desugar, sugar-righ之类的概念,或许还得老老实实地“糖”来“糖”去。
“有机方法”则是今天早上看到的标题——成为领导的有机方法。这翻译,真让人没脾气,organic approach,不就是“有机方法”嘛。横竖想想,总觉得有些不对劲,“有机”总让人想到化学、食品,“有机”方法,到底是个什么方法呢?
索性查查Collins Cobuild,Organic,它的解释包括:
- Something that is organic that is produced by or found in plants or animals,这个是“有机”,没错;
- …
- Organic describes change, development or progress that happens naturally or gradually rather than a sudden or force way,“渐进”的,“自然”的,而不是“突然”的,“强迫”的;
- …
看到这里,“有机方法”就站不住脚了。这东西,说轻一点,是“硬译”,说重一点,根本没搞懂意思嘛。不过,这种例子还真多,比如sensitive,就被硬生生翻译为“敏感”,于是大家都“敏感”起来,只会说“大小写敏感”,而不会说“区分大小写”了。
From Life Sailor, post “语法糖”和“有机方法”
怎么也没觉得“区分大小写”比“大小写敏感”翻的高明。要知道“区分大小写”只能等价于“对大小写敏感”,而“对大小写敏感”和“大小写敏感”读起来感觉一样吗?还是有细微的差别吧,一个偏重于动作,一个偏重于特征。
即使“区分大小写”和“大小写敏感”语意上完全相同,要使它们可以互相替换还有语感的问题啊。人家说“信雅达”,而对于“达”每个人的感觉可能不一样。我个人觉得把“区分大小写”这样的翻译带入原文后往往因为语序的颠倒产生不通顺的感觉。因为“case sensitive”从字面看就是“大小写敏感”嘛。如果您看不顺眼就多看两眼,看习惯了反而觉得还真就没有更好的翻译了,呵呵。
您的博客不错,我经常来看看,希望不会介意我随便发言。^_^
承蒙抬爱,不介意的:)
我的看法是,“敏感”本身的翻译是错的:
sensitive,它最主要的意思是highly responsible…,这是构筑在“能够感知”的基础上的——“感觉很敏锐”,“反应很灵敏”。
而case insensitive,这里应该取的意思是have the ability to feel,也就是“有能力感知”。
“区分大小写”能否等价为“对大小写敏感”,我看不见得——“区分冷热”和“对冷热敏感”,好像不等价吧。
类似区分大小写这种东西,我觉得还不如不翻译呢。不然看习惯中文书的人,看到英文就很难对应了。
呵呵,敏感本身的翻译或许是错的,或许不是,这取决于我们如何在上下文中理解“敏感”这个词不是吗?很多西方的概念也是本来没有那个词或者本来那个词没有那个概念,于是生造出来一个词或者给一个本来就有的词赋予了一个本来没有的概念。而中文也是一样啊。难道说民主、混凝土、线程这些词汇是中文自古以来就有的吗?还有很多词现在的语义已经和它的本意完全没有关系了。我个人认为语言是在不断的演化的,当我们看了很多“大小写敏感”,而每个人都体会到大小写敏感是怎么回事了,却还要纠缠于“敏感”的本意放在这里是不是合适,是不是感觉有一点点迂腐呢?像个老学究,哈哈。
说回“语法糖”和“syntactic sugar”,如果从字面意思理解“语法糖”会让人产生误读,那我以为与其改名为“有机方法”还不如给那些误读的人上上扫盲课,从而使“语法糖”成为一个大家公认有特殊含义的专有名词。这样有一个很大的好处是,先看中文书后看英文书的人不会看了好久才恍然大悟,“哦~~~原来有机方法翻译成英文是syntactic sugar!”因为我很愚笨,不擅长背单词,其实我还挺在乎这一点的,哈哈。
关于syntactic sugar,如果以wiki给出的解释为标准,译为“语法甜头”或“语法诀窍”多少还是有点不太对劲,以下聊与余兄商榷:
从实际翻译中接触到的上下文来看,syntactic sugar这个术语只会在特定的情形下出现,而且,很难跟常见、相互之间可能无关联的“快捷方式”、“技巧”等等经验式的做法对应起来。正如前面引文中所指出的,syntactic sugar“为编程人员提供了一种编写程序的替代方式,这种方式更具有实用性、更有助于形成较好的程序设计风格,或者使代码读起来更自然。但是,它不会影响形式上的可表达性,也不会让语言拥有某种新功能”。结合翻译中遇到的上下文来理解,syntactic sugar所喻指的主体应该是一套方法,或者干脆说就是一个框架或库,它们存在的价值就是抽象或扩展了某种语言的语法,提供了一种新语法形式,而这种语法形式非常developer-friendly,因而“更有实用性,更有助于形成较好的程序设计风格,或者使代码读起来更自然”。
以jQuery这个JavaScript库为库,该库扩展了JavaScript的语法,提供了取代了document.getElementById()的更简单(更少输入量)的$(),这体现了实用性;提供了“连缀”语法,如:$(‘ex_link’).css({background:url(…);}).hide();,这体现了有助于形成较好的设计风格;提供了封装的jQuery对象列表,如$(‘a’).each(function(){…});,即通过each方法对$(‘a’)返回的jQuery对象遍历执行相同操作,这体现了使代码读起来更自然。但是,这种syntactic sugar说到底是一种扩展,它不会让语言具有某种新功能。不过,syntactic sugar显然也不是平常所说的“诀窍”所能诠释的。
目前,我要翻译的Dojo:TDG(Dojo是另外一种JavaScript框架和工具箱)中多次出现syntactic sugar这一概念,结合该书上下文来理解,似乎也是我上面所述的意思。因此,我现在决定的处理方式是将其译为中文“语法糖衣”,首次出现保留原文并加译注。
这几天折腾转域名的事情,才回复,先说抱歉:)
我遇到syntactic sugar是在翻译《精通正则表达式》时,在当时的上下文来看,翻译为“语法糖”是不太对劲,想来想去,就弄了个“语法诀窍”;
我觉得,这个东西之所以难翻译,原因在于,原文里的“糖”指的是“好(但没什么营养,主要还是好吃)东西”的概念,但又与“糖分”的“糖”有关联,可以说原文里面本不存在“一语双关”,翻译成中文之后,没办法把这两个意思叠加起来了
照这样来看,或许应当是“捷径”的意思更为贴切,“糖衣”当然也可以,只是容易联想到“糖衣炮弹”
我倒觉得将”syntactic sugar”翻译为”语法糖”非常妥帖.
这本身是一个精当的比喻.
“糖”不是生活的必需品,但却给人们带来不错的享受,这使得人们乐意接受它.
而在编程领域,语言在发展过程中,出于易用性的考虑,缀加了一些辅助性的语法.这些语法对于编程来说,没有实质性的功能提升,但却使程序员编码更方便,因此使语言更好用.对于程序员来说,这些语法不正像”糖”一样使人愉悦吗?
博主说由于中西方对”糖”的认知不同,导致将”sugar”翻译为”糖”欠佳.但我觉得国人完全可以明朗地理解我上面的分析.对于国人来说,”糖”不也是一种调剂食品吗?我们品尝各类糖果时应该都是心情愉悦的吧,尽管我们不觉得会从糖上获得多大的营养.从这点来说,我们所感知的糖,不正是”syntactic sugar”的喻体所蕴含的意味吗?
下面我从翻译的基本标准”信达雅”上来分析一下(我觉得”语法糖”基本符合该标准).
翻译第一要求是”信”.如果仅看博文中举出的译法,我认为恐怕”语法糖”是最准确的了.下面逐个分析:
1.”含糖语法”:”含糖”二字在国人的意识中偏向于负面意,易产生误解.从整体来说,”含糖语法”,似乎解释为”含有附加物的语法”更妥,一个”含”字意义全变,很难将其解释为”语法中的附加物”.
2.”语法甜头”:”甜头”二字虽显活泼,但多少有负面的意思.正与博主所说:[“糖衣”当然也可以,只是容易联想到“糖衣炮弹”],”甜头”也容易让国人联想到”陷阱”之类的意象.因为在我国,向有”先给他点甜头”的俗语.而且从意义上来说,”甜头”是形而上的感知,”糖”是形而下的实物,形容”syntactic”,哪个更贴切呢?况且”糖”本身具有”甜”的内涵.
3.语法诀窍(窍门,捷径):这些都是很常用的词语,况且与原意并不十分接近.如果我看到这些词,首先会想:它们可能指的是”编程技巧”之类的东西.所以说更易造成误解,实在是所有译法中最糟糕的了.
反观”语法糖”,自然,相对于前面的译法,让人有陌生感.但必须指出,其它译法尽管让人熟悉,但却不能妥帖表达原意,反而容易造成误解.而正是由于”语法糖”的新鲜感,再加上首次出现时的注释,反而容易给读者以深刻的印象(由于比喻的形象)和准确的认识(由于无其它因素干扰).
值得一提的是,在中国的程序界,”语法糖”的说法已经流行开了(这种生动俏皮的说法实在太容易流行了).不信可以在网间搜索一把,也可以看看大牛们的文章,早已是”糖”的天下了.说得大一点,博主可是要阻碍历史发展进程哦!
再来看一下”达”.正如博主所说,由于表述方式的多变,”语法糖”很可能不能适应某些文本环境.但我觉得作为一个有特殊含义的专有名词来说,应该在大多数情况下适用.即便遇到那些少数的情况,借助于”糖”这个显性意象,在合适的地方也就可以用”含糖”或”甜头”这些说法,比如”编程语言大多含糖”或”有了这些甜头,程序的编写就多了一分享受”.这样一来,翻译自然通顺,更重要的是建立起了以”糖”为中心的意象群,使读者的阅读也变得轻松起来.
最后是”雅”.比较其它译法,”语法糖”的雅应该是显而易见的.西方程序界同仁发明了”syntactic sugar”这个词组当然是基于以上所说的比喻了.但是如果用诸如”语法诀窍”这类词语代替”语法糖”,其潜在的寓意便会丧失.程序相关书籍稍不留意便堕入枯燥,难得诸如”语法糖”等形象化词语的加盟,才使得文章增添一些趣味,现在却要换上词不达意的一些枯燥词语,真是太对不起词语的创造者了.编程行业现在看来还不失为一个创造性行业,程序员接受新事物的能力应该也是一般的强大,为”语法糖”的不易理解担心,博主未免小瞧了程序员们呢:-)还是让程序员们的阅读更愉快点吧.
呵呵,有感而发,未想写了这么多,措辞也显生硬…其实我向来很崇拜博主的,博主明察o(∩_∩)o…不胜叨扰,谨抱歉意.