本来已经看过了英文版,今天偶然在书店看到,买下来,看完了。感觉是,还是翻译的问题。但与常见的翻译通病不同,问题不在于语言不符合中文习惯,而在于很明显,译者对一些术语的译法不太了解。比如那个有望传为经典的“正确的尾部递归”。还有那个被译为“泛型 for”的 generic for,在这里应该是“生成型 for”,原因自己想。对于重要的协程概念,看得出来,译者也是一知半解。不过作为第一本在中国上市的关于 Lua 的纸质书籍,买来作为参考书,或者在中文环境下了解一下某些细节和习惯用法,还是蛮好的。
这几天弄双显示器配置awesome的时候本来准备在china-pub上买这本书的
到这来一看书评好像反响不是太好,就在网上先找了本第一版英文版看了一下
以我现在的知识而言,我觉得LZ指出的两个错误都不是错误而是你自己学艺不精,我没有看过中译版,只是说这俩个地方的翻译是没有问题的。
正则在计算机术语中全部是用regular expression来表示的,我从来没有看过proper expression.
而关于generic,书中的原文是这样的"The generic for loop allows you to traverse all values returned by an iterator function",从这看来,必然是范型的意思,只要受过大学计算机教育的人都能明白。
既然你们连这样一个“错误”都不承认,那还有什么好谈的呢?你们尽可以把userdata翻译成"自定义类型",让人联想到强类型语言的"类型",还可以把memoize翻译成"备忘录",让人以为是一个案例章节。等等等等,令人摸不着头脑。
但我仔细想了一下,最后觉得这可能也无可厚非。我注意到译者称找过不懂计算机的人来调整用语,使翻译不要犯出现中文被动句之类的学术性翻译通病。这个努力的结果我也看到了。比如你们把复杂术语翻译为带有形容词的短语,把英文长难句用大白话拆分。这样想来,使用一套前无古人的术语表,并无不妥。
但这毕竟对于我和多数本来就了解较多的人的阅读带来了困难。我想你们的读者,应该面向我们而不是那些连dtand-slone是stand-alone的typo都不知道的人。学术性翻译,可能并不需要你们这样多虑。
总的来说,还是像我在评论中提到的那样,翻译总是好事,是一个给中国菜鸟上上课的卓有成效的努力。这本书,即使是读过原文的人,也是值得一看的。
根据http://www.china-pub
这位小妹,那个generic for,即使在这里可以理解为“生成型的for”,那么英语的原文也应该是generative for,而不是generate for。如果韦氏词典没有错的话,那generate应该是动词,而generic是形容词,它们在这里是不能互换的。
至于您给出的那些proper的例子,proper subset, integral和fraction中的proper都不会被翻译为正则。也许作者在这里使用“正确的”也不是最好,但是远好过正则。
我虽然没有看过这本书,但我也相信这本书上肯定有翻译错误,不过目前很明显的是,您指出的两个“错误”都不是错误。generic的错误,您承认了,proper的错误,您还不承认。话说回来,就算第二个您没错,那您也犯了50%的错误,或者说,您“对一些术语的译法不太了解”的程度至少和作者一样。我不是说一个人自己不懂就不可以指出别人的错误。但是,在指出前先确认一下,也许会比较严谨。譬如说,如果在您发这个帖子之前,先和作者email确认一下,也许会更好一点。因为,人难免会犯错误。您指出译者错误的时候,一定认为自己是对的,但事实并不往往是这样。
我们的母语都是中文,因此阅读中文会比较舒服。就好像您,虽然能够读懂原文,但是还是会读完中文版,这是因为中文的往往更好理解。譬如说,前面那个generic,如果您只看了原文,也许现在还是按照generative理解的。您想,像您这样英语和中文都非常好的人都会犯这样的低级错误,那么对于一般人来说,也许中文版本对他们有更大的意义。但是即使对您来说,一本书能够让你读完,应该也不是完全浪费时间吧。
既然这本书的翻译让您感到不舒服,我想一定还有别的“错误”。能否请一并指教?
另外,按照您的说法,我也是一个很有正义感的人:) 我不否认我和译者认识,不过大家摆事实讲道理,技术上的东西,对错不难辨。
我为了那个 generic 去询问了原书作者:
> I am a Lua learner from China. In your book, you have referred to a feature
> of Lua called "Generic For", which is in need of a generator to apply code.
> Because the word 'generic' and the 'generate' seem to have same root, so in
> my opinion, the meaning of "Generic For" is "The For grammar using a
> generator". Am I right? Or its meaning is still "The For can be used in many
> ways"?
The intended meaning was "The For can be used in many ways". I never
thought about the other meaning before you mentioned it. (But it makes
perfect sense!)
-- Roberto
看来我确实错了(不过根据作者幽默的回答,这样其实也无所谓:))。不过我所说的“正确的尾部递归”错不在“尾递归”而在“正确的”。应为“正则”,否则词不达意。看在你是译者朋友的份上,其它的错我就不报复了。祝你用 PowerShell 愉快!