首先我要说明的是,我非常尊重那些将外文技术书籍和技术文章翻译为中文的人。这是一件有点吃力不讨好的事情,翻译的好,大多数人会认为是原作者书写的好。如果翻译的差,就要被人抨击 "这本书被拙劣的翻译毁掉了"。
因为我后来自己翻译了《practical clojure》这本书,了解到这背后的辛苦,就翻译好后校对这件事情就是一件令人相当头痛的事情,每次校对都能发现新的错误,实在令人抓狂——也许是完美主义者的通病。
事实上在我准备学习lisp的时候,我最早接触到的关于lisp的中文文献应该是作者翻译的另外一本 <On Lisp> ,但是那本书涉及到lisp的一些高级主题,所以并不适合作为入门教程。也正是那个时候,我知道了作者翻译的这本书即将出版,所以就在这本书发行的第一时间从网上购买了这本书。
但是买回来阅读的感觉让我相当不舒服。无论从排版还是行文,还是语言习惯上都让人相当的不舒服。在读完第十章后,我实在忍不住上豆瓣吐槽了一番 http://book.douban.com/review/5134179/ ,我基本上觉得这本书不适合作为入门读物。但是我主要基于的是从书的内容安排上来作出的评判。
也正是因为对这本书的失望,所以我开始在google查找其他关于lisp的资料,结果误打误撞,接触到了clojure,并且一股脑儿读了大量的文章,并且在热情的驱使下翻译了一本clojure的书。
一年后,当我学习了clojure之后再回过头来学CommonLisp的时候,再翻起这本书,还是觉得读不下去。所以才有了这篇吐槽,主要是关于翻译和排版的一些看法:
1.首先我认为这本书的中文排版是糟糕的。这本书的中英文的字宽貌似是一样的,造成的结果就是:对于中文字符正好的字符宽度,在源代码的排版上就显得过宽,阅读效果相当差。
2.其次,在全书中提到 函数名 和 关键字 的时候采用的是大写形式,这个我觉得也是一问题。
我后来看过英文的原本,英文里面使用的是大写形式。但是我认为因为采用大写形式主要是为了突出显示。但是作为母语不是英文的中国读者不太习惯这种方式。举一个简单的例子,如果把你认识的一些英文单词全部写成大写形式,然后让你来认,我相信很多人不能在第一时间认出它们,至少要花费更多的时间来认出它们。
3.翻译中代词的大量使用。我认为这是造成翻译成中文后,很多词句表述不清的主要原因。翻译后很多代词——它,这很大程度上是因为英文中的一些复杂句,翻译成中文后很难在一句话中表达清楚,所以方便的做法是拆成两句,但是这个时候为了让句子的结构完整,就必须补充上主语。这个时候两种方法,使用原先的主语,或者使用代词——它。我看到的情况是,翻译的时候大多翻译成了它,结果就是读者阅读的时候根本不知道这里的它指的是前面讲的哪个 “它”。
所以我的建议是不要滥用代词——它,多用原来的主语。以避免不必要的歧义。
4.语序问题,英文当中的一些语序和中文是不同的,如果直接按照英文长句的顺序来直接翻译成中文,是非常不符合中文的阅读习惯的。这也是我认为这本书之所以味同嚼蜡的原因。
5.中文表达能力。我认为中文翻译质量的一个很大原因是翻译人中文的程度。因为搞技术的人大多重理轻文,所以可能这是天然短板。所以我认为在这种情况下,应该尽量使用短句子而不是长句。既减少了翻译难度,也便于读者阅读。