[述评] 也说《代码大全2》

  通读《代码大全2》已经是几个月前的事情了。

  我的工作中有一项是给各种各样的程序员或准程序员培训.NET开发技术,其中又以C#语言课程为基本。今天恰好是一个为期3周的C#课程的尾声。在这一期课程里,我打破了所有过去积累下来的培训经验,而是从课程第一天,就开始向学生灌输设计、架构、思想方面的内容——虽然他们大多数是没有基础的人。每讲到一个语法(或类型或技巧),就把相关的思维方式介绍出来,告诉大家“遇到什么问题时如何去想,并用这种语法 (或类型或技巧)来解决”。

  经过这样一期独特的课程,学生们是否“受益匪浅”我不清楚。但对于我来说,绝对是一种技术和思想上的提炼。我自己对编程(写代码)又有了新的认识。

  由此,我想起《代码大全2》,我想该写下些什么了。

说说原作者和原书

  原作者Steve McConnell,两届Software Development Magazine Jolt Award震撼大奖得主。我不认识他,十年前我还不知道“编程”是什么。

  其实我并没有(也没打算过)看英文原著,但这并不影响我对原著的感受。

  每次看到老外的书的时候都有两种感觉——第一种就是,老外可真猛,写出的书动辄上千页,就是不让你躺在床上看,必须要恭恭敬敬坐在桌边洗眼恭看才行。不过这样也好,至少给了我一个可以冲一杯咖啡,边喝边看的机会。

  这样的书给我的第一感受就是,内容如此之多,写起来也就慢,因此时效性肯定不强。不过作者很精明,避开了很多具有时效性的内容,讲解的都是亘古不变的经典理论和技术。

  这样一来作者就面临挑战啦,这样的书籍往往容易被写成哲学书籍,空讲一大堆道理,讲一箩筐谁也看不懂的小故事。但作者也是很巧妙地穿插理论内容和技术内容,整本书随手翻来,既可以读到精辟的言语,也可以看到一语理解的代码片断。

说说翻译

  每次看到老外的书的时候都有两种感觉——第二种就是,翻译得可真烂!这句话可能有所偏激,但我想说出了绝大多数技术人员的心声。不过第一次随手翻看代码大全时,第一感觉是,“看起来不错”;略读几个章节,哇,“真的不错”。

  首先,这本书的翻译在标题上采用了中英对译的方式,这在近几年似乎尚属首例。而在整体文字上的翻译时,看得出来,译者非常忠于原著,但又不刻板于原著。我也曾翻译过一些技术文章,也参与过某些书籍的部分翻译,很多我曾拿捏不准并为之懊恼的词汇、句法,都在这本书中找到了答案。

  而且,感觉作者的牺牲精神也是很强的,并没有在书中表达过多的自我。众所周知,翻译是二次创作,译者有很多可以发挥的空间,但很少有人能把握好分寸。我是一个属于过分忠于原著的人,以至于翻译的作品死板,近乎于机器翻译;而我也看过不少书,通篇上下布满了“译者注”,最可恶的是,我看过一本.NET书,竟然在译者注中提到“原著有误,正确的应是……”,结果我反复实现了好多次,发现原著并没有什么错误,译者注反而是错误的,不知道为什么会出现这种失误,总之是无可饶恕的。以至于我在给学员推荐书籍,提到这本书的时候,不得不严重声明:请只看翻译内容,不要看译注。而在《代码大全2》的翻译中,译注并不少,但大多是一些资源引用,译者并没有把自己的观点太多地强加于原著,这不能不说是一种牺牲。说到资源引用,这些引用中所提到的书籍,并非只有博文视点一家出版的,而是所有对本书有用的书籍均细细罗列——这应该算是博文视点的牺牲了吧,为了让读者更好地理解本书和学习更多知识,免费给人家打这么多广告。(哈哈,这算是我以小人之心度君子之腹了,要是我,恐怕只列自己公司出版的东西。)

再说内容

  不得不提一些遗憾。原书很多言语抨击了其他与作者相左的思想,未免有些偏激。另外,原书内容不能不说有些零散,虽然是按照软件开发的流程顺序整理出来,但前后跨度较大,如果是拆成3本书,效果恐怕更好。

 

  PS,我最喜欢这本书第18章《表驱动算法》,其实我和我的很多朋友都在不自觉地使用这种技巧了,但这一章对其进行了详细和系统的讲解,让我受益匪浅。以至于我现在讲课,不论各种水平的学员,表驱动算法都是必讲的一课。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值