
上QQ阅读APP看书,第一时间看更新
中文版序
我动笔写作《C陷阱与缺陷》时,可没想到14年后这本书还在印刷和发行!它之所以历久不衰,我想可能是因为书中道出了C语言编程中一些重要的经验教训。即便到了今天,这些教训也还没有广为人知。
C语言中那些容易导致人犯错误的特性,往往也正是吸引编程老手们的特性。因此,大多数程序员在成长为C编程高手的道路上,犯过的错误总是惊人地相似!只要C语言还能继续感召新的程序员投身其中,这些错误就还会一犯再犯。
大家通常在阅读程序设计图书时会发现,那些图书的作者总是认为,要成为一个优秀的程序员,最重要的无非是学习一种特定程序语言、函数库或者操作系统的细节,而且多多益善。当然,这种观念不无道理,但也有偏颇之处。其实,掌握细节并不难,一本索引丰富完备的参考书就已经足矣;最多可能还需要一位稍有经验的同事不时从旁点拨,指明方向。难的是那些我们已经了解的东西,如何“运用之妙,存乎一心”。
学习哪些是不应该做的,倒不失为一条领悟运用之道的路子。程序设计语言,就比如说C吧,其中那些让精于编程者觉得称心应手之处,也格外容易误用;而经验丰富的老手,甚至可以如有“先见之明”般指出他们误用的方式。研究一种语言中程序员容易犯错之处,不仅可以“前车之覆,后车之鉴”,还能使我们更谙熟这种语言的深层运作机制。
知悉本书中文版即将出版,将面对群体更为庞大的中国读者,我尤为欣喜。如果你正在阅读本书,我真挚地希望,它能对你有所裨益,能为你释疑解惑,能让你体会编程之乐。
Andrew Koenig
美国新泽西州吉列市
2002年10月