来谈谈翻译吧_垃圾回收的算法与实现书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 算法 > 垃圾回收的算法与实现 > 来谈谈翻译吧
苦辛仔 垃圾回收的算法与实现 的书评 发表时间:2016-10-25 00:10:04

来谈谈翻译吧

下面纯粹是看书时的碎碎念,可能跟正文内容没多关系,主要都是在说翻译的事。
一开始读的时候还好,后面读着读着越发觉得翻译错误多了起来。最后真受不了,买了原文照着看,边看边吐槽。
前面好几个错误编辑修正了,后面那些至今(16.10.25)没人管【update: 10.26 一下子全确认了~】,那就边看边更新啦:)
下面有些纯粹是觉得译者翻译得「不地道」。比如「不可能到达对象」,基本上说到 GC 的时候都会说是「不可达对象」,还有「型」这种日语里面用来表示「类型」的词直接不翻也是非常奇怪。
把所有的「レベル level」都翻成水准,纯粹就是错了,没见过用 C/Python 来形容水准的。

按照页码的勘误:
P231 ,10.7节标题下面一行:“多种多样的型”改为“多种多样的类型”
P238,倒数第2行:“然后用PyEval_CallObject()函数评价它”改为“然后用PyEval_CallObject()函数对其进行求值”。

P239,10.8.5 「在以C语言的水准对Python…」和 「当以Python的水准写程序的时候」,这两句,原文的「水准」应该都是「レベル」也即 level 吧,这里把它翻成「(技能能力などの)水準」很奇怪。感觉更适合辞典的这个解释「(物事をとらえる)段階, 面; 観点, 見地」,以「在C的层次-层面上」跟「在Python的层次-层面上写程序的时候」或类似的翻译是不是会妥当些?——同样的问题:P258
Pxxx レベル 这个词真的全部都被翻译成水准了= =

P258,「检查合格」-pass,「检查通过」吧。
P259,「不可能到达对象」-「不可达对象」

P261, 10.10.11「这个函数在开发模式中活用了访问者模式」,原文这里是 「この関数ではデザインパターンにおけるvisitorパターンが活用されています」,无法理解为什么「デザインパターン design pattern 设计模式」这个成熟的词组会被翻译成「开发模式」,「における」在这里是指范围,vistors 是 design pattern 的其中一种,「活用」直接不翻也比较奇怪,日文中这个词有有效利用的意思,中文里「活用」多指灵活应用,有点差异。在自己看来,这里粗糙一点的翻译也应该是「这个函数使用了设计模式中的访问者模式」。

P267,把「サンプル sample」跟「シンプル simple」搞混了。。
P331,12.1.2 「来检查本章中要解说的码树吧」,原文这里是「本章で解説対象となるコードツリーをチェックアウトしましょう」,「チェックアウト checkout」是版本控制专用术语,一般翻译成 「检出」,「コードツリー code tree」翻成「代码树」自然得多。这句话应该是「来检出本章要解说的代码树吧」 13.1.3 也是检测

P341,12.3.4 「负责调查所申请大小的分块在不在用于GC复制算法的内存空间里」。原文这里是:
「enough_space_p()関数では要求されたサイズ(bytes)のチャンクがコピーGC用メモリ空間(Heap)にあるか調べています。」
这里「ある」应该是指堆里面是否「有」这个大小的空间,而不应该是表示存在的「在不在」。下文中的「如果还有空闲空间」也验证了这种说法。能力有限没法直译,但意思上应该接近于「这个函数用于检查GC复制算法的内存空间(Heap)是否足够分配所申请大小(bytes)的分块」。

P344,12.4.3 ,最后一段都有问题。其中最后一句「这样一来我们就将 hello_world 函数定义成了 Kernel 类」,原文这里是「この場合、hello_worldという関数をKernelクラス(rb_mKernel)に定義しています」。「Kernelクラス(rb_mKernel)」后面有格助词「に」,表示「在Kernel 类里面」。事实上,rb_define_method 也只是一个往指定的类添加方法的 rb 方法,也不可能把一个函数定义一个类。这里应该是:「这样一来我们就在
Kernel 类里面定义了 hello_world 函数」

P364,12.5.4 「第117行」跟「第118行」翻译成了一样内容。实际上,原文是「117行目:参照元のオブジェクトは新世代のものか」跟「118行目:参照先のオブジェクトは新世代のものではないか」,118行是「引用的对象是否为新生代对象?」。写入屏障是记录老年代到新生代对象的操作,117行跟118分别判断发出引用的对象跟引用的对象。

P373,12.5.9,「通过传输 Rubinius 的 C++ 源代码,抽出每个对象的类的成员变量」「“RubiniusのC++ソースコードをパースして、各オブジェクトのクラスのメンバ変数を抽出し”」。「パース」这里是「parse」,跟「传输」没有任何关系。「通过解析 Rubinius 的 C++ 源码,提取出每个对象的类的成员变量」

P385,13.3.5 「首先把之前在 13.3.3 节中讲过的 HeapObject 类(或子类)的实例分配给 VM Heap。」,「VMヒープには前の「12.3.3 Objectクラス」の項で説明したHeapObjectクラス(もしくはサブクラス)のインスタンスがアロケーションされます。」,不知道这个「首先」是从哪里冒出来的。稍微调整了下顺序之后应该是这样:「之前在 13.3.3 节中讲过的 HeapObject 类(或子类)的实例会被分配在 VM Heap 中」

展开全文
有用 4 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读