English

18次印刷的奇迹

2002-10-23 来源:中华读书报 王昕 我有话说
如果有人问我,要想学好一门编程语言,应该阅读什么样的书籍呢?毫无疑问,在大多数场合下我都会向他推荐市面上最新出版的书籍。

但有一本讲述C语言的书,自出版以来,历经14载,它一直都被各个书评站点(或书评人)列入“重点推荐”的清单中。尤为夸张的是,14年来,在它的18次印刷版本中,除去第二次印刷稍微修改过一些问题,以后的17次印刷,我们居然发现它的内容没有丝毫的变更!!!对于技术书籍,我想其精确性与权威性也算是奇迹了吧。

这就是An d rew Ko en ig给我们带来的C Traps and Pitfalls(中文书名:《C陷阱与缺陷》)。在C/C++领域中,And y(And rew的呢称)的名字对于每个人来说绝对是如雷贯耳。作为一个知名的专栏作者,And y(和他那位同样大名鼎鼎的妻子-Barb ara Moo)已经在各类杂志上面发表了上百篇的杂志文章,给很多人在技术进步的道路上带来了极大的帮助。ACCU的Francis G lassb orow对他的评价是:And y是世界上最出色的几位C++专家之一。

本书是And y的第一本技术书籍,其原始素材来自于And y在1986年所提交的同名的技术报告。在书中,作者针对C程序在编译、链接的过程中可能碰到的种种问题以及编译、运行环境对程序可能带来的影响等,列出了许多值得我们注意的地方。按照作者本人的观点,针对前人碰到过的问题来现身说法,可以帮助你避免那些一而再,再而三出现在你的程序中的问题。由于是以实例来描述作者(以及他人)所碰到过的具体问题,因此,此书少去了许多空洞无味的说教,虽然本书篇幅不大(原书正文只有区区147页),但实际上,它的每个小节,每一段都蕴含着作者(以及他人)大量的经验教训,都值得我们去仔细琢磨,经常温习。为此,Franc is Glassborow说到:从我了解C语言开始,我就将它时时放在手边,经常翻阅)。作者自己也在书中毫不谦虚地说:“如果你是一个程序员在开发中经常用到C语言,这本书应该成为你案头必备书籍。即使你已经是一个C语言的专家级高手,仍然有必要拥有一本”。事实上,Andy并没有吹嘘,就书中所列出的种种问题,我本人也不止一次在自己的程序(也包括别人的程序)中发现它们的踪迹,而且有些问题出现的还极为频繁:这使我不禁就想到,要是我们能够早一些看到这本书上提及的问题,那岂不是可以省去很多开发时的除错时间……

可能有人会有疑问:从书名来看,它是一本讲述C语言的书籍,那么对于C++的学习者来说,它是不是也同样有价值呢?另外,现在C语言的最新ISO/ANSI标准文档C99都已经制订出来了,而作为一本在C89之前出版的C语言书籍,它的作用是否还和以前一样大呢?答案是肯定的。本书英文版连续18次印刷的事实就是有力的证明。实际上,C++在那个层面上和C的区别并不大,在C程序中常犯的错误通常在C++程序中也经常得以重现,因此,从这个角度来说,C语言中的陷阱也常常就是C++语言中的陷阱。此外,虽然最新的C99对于以前的K&R C有了一些变化,但在较低层次(如词法、语法)上,它们几乎是没有差别的。因此,对于本书中所有问题的讨论,几乎都可以适用于最新的ISO/ANSIC。

现在,人民邮电出版社翻译出版C Traps and Pitfalls一书,无疑是献给C和C++程序员的一份厚礼。我本人很荣幸能够担任此书的技术审校,为这本书中文版的出版尽一点绵薄的心力。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有