这本书翻译的较差。打 4 星推荐是针对原作的,而不是这个翻译。
这种差不是名词上的错误或语法上的错误,可以说译者的编程功底还可以,名词基本准确,句子基本通顺。
但是,他翻译的“不雅”以至于反过来影响“不达”,为何如此说呢?
“算法”这门学问是计算机科学中最复杂晦涩的领域之一,涉及各种数学知识,这些知识只在思维高度集中时才能心领神会。
而译者太过拘泥于原作的字面叙述,这种按单词逐句翻译的结果,不适合中国人的思维,中文成句和思维连贯性就受到了影响。在本书译文的段落中经常有将一两句点明原则的话翻译蹩脚的情况,导致“能读出来,却不理解”,或者,知道含义,却不明白它和上下文的关联。
可以试读一下 7.8.1~7.8.6 节,这些章节不需要算法的准备知识,而是关于实现算法的 C++ 技巧,但即使这样也很难读。那句“vector<Comparable*> 不运行”真让人跌眼镜。
也可试读一下 7.10 桶排序这个超短章节。引文“因为通用的排序算法不能对于它可以预期见到的输入类型做假设,但必须仅仅基于排序信息做一些决策。”前句可懂,而后句……,那是中国人能说出来的话吗?
这些句子放在这些章节里还无关痛痒,但如果放在大量的数学公式和推理叙述中间,读者是撑不住的。(译文不时会出现这种情况)
所以拘泥字面义还算轻的苛责,译者的这种译法有赶工和机器翻译的嫌疑。
结论是:
如果译者用这种方式翻译 C++、Windows 编程等工程技术类书籍,读者或可理解译文(思维集中度没有算法强)。
如果阅读本书的英文原版,读者也可理解文章含义(换作英文思维和成句习惯)。
http://book.douban.com/subject/1909336/