之前一直很期待这本书,毕竟这本书是把程序设计语言创始人集结在一起分享经验的首部书籍,这些创始人个个都是领域中一等一的大师级人物,聆听大师的教诲,实在是一件幸事。所以在知道电工博文要已经出版了这本书的译版之后,我在第一时间将其购买下来。
这本书给我的第一印象很好,无论是封面的设计,还是里面的排版,都比博文以前的书籍进步不少。
然而阅读了第一章(C++)之后,我如坠云里雾里,不少句子怎么看都看不明白,难道是我的水平还不够?但我觉得不应该,毕竟我曾阅读过Bjarne的The design and evolution of c++,对Bjarne的基本思想还是有一定了解的。
于是我找了一个原版的Pdf,并将其与译版进行比对,下面是译版第一章里,我个人认为不合适的地方:
P3 向量<T> -> Vector<T>
向量<T>这种说法过于别扭,本身就是C++标准库的类型,没有必要再将其汉化
P3 倒数第一段: 词 -> 内存字
原文里是words,鉴于这里的上下文是内存布局(Layout),这里翻译成内存字更为合适
P4 倒数第一段:ints, doubles -> int, double
原文中有s是由于复数,而汉语里并没有对应的语义,使用这些类型的原称更便于理解
P5 第二段第二行:
如果该对象是一个限定作用域的变量,它的生命周期就是对持有资源时间的一个最大限制
->
如果一个对象处于作用域限制之下,那么它所持有的资源会随着该对象的生命周期的结束而被释放。
原文是If that object is a scoped variable, the lifetime of the variable puts a maximum limit on the time the resource is held. 译者使用的显然是直译,但这里直译的话显得过于晦涩。
P5 倒数第二段第五行:
让鸽群在屏幕上随意啄食
->
在屏幕上一顿乱点
原文是 Having flocks of pigeons randomly peck at the screen to see if they can break a GUI-based application is no way to ensure quality systems,很显然Bjarne在这里用了一个暗喻,他把测试员的那些随意的点击测试比喻成"鸽群在屏幕上随意啄食",这里采用直译的话,容易使读者感到莫名其妙。
P6 倒数第二段: 造型 -> 转型
原文是casts,我不清楚译者是怎么做出这样的译法(也许是印刷错误?),至少在我读过的译著中,从来没有把cast翻译成"造型"的
P13 第一段:
直到现在,有些人还是将C++看成是没有设计出像Smalltalk这样的语言的失败后果
->
直到今天,仍然有人把C++看作一个未能成功模仿Smalltalk的设计的拙劣之作。
原文是. To this day, some see C++ as little more than a failed attempt to design something like Smalltalk,译者再次使用了直译,然而这样的译文实在是难以理解。
P13 倒数第二段:
我不能说我赞成Java的一些策略,比如向非编程执行程序推销自顶向下的理念
->
我并不赞成Java的一些策略,比如说,那种自顶向下直接向不会编程的经理进行推销的做法
原文是:I can't say that I approve of some of the Java tactics, such as selling top-down to nonprogramming executives,我实在无法理解,译者居然可以把executive翻译成执行程序,译者您自己觉得可以读通吗?
仅仅是第一章,就出现如此多令人费解甚至是低级的错误,这使我对这本书的期望大打折扣。
到现在这本书我已经看完了前五章,同时我也记录了这五章里的各种错误,到现在已经积累到两页纸之多,时间所限,我就不一一打出来了
我没有贬低译者的意思,毕竟翻译(尤其是这样的相对口语化的文字)也是一件不容易的工作,然而既然译者接下了这个翻译的任务,就要对翻译的质量负责。但是,从第一章的翻译中就可以感受到那种草草完工的痕迹,很明显,译者为了追求翻译的速度,很多处采用了直译这种最省力的翻译方法。问题在于,很多口语化的东西是不能甚至无法直译的
译者在前言中提到:或许你就是下一个Bjarne Stroustrup。可以看出译者是很敬重Bjarne前辈的,可是没想到即使是C++这一章就出现了这么多的问题
我看过很多电子工业出版社出版的国外引进的计算机书籍,从《代码大全》到《程序员修炼之道》,从《程序设计语言-实践之路》到《UNIX程序设计艺术》,加在一起也不下十余本,虽然之前的书籍不能说是完美,但至少做到了正确的把信息传达给读者这一步。而《编程之魂》这本书,除了封面,装帧和版式有了一定的进步,翻译的质量(也就是内容)却大打折扣,我希望电工的编辑进行一下反思。