官术网_书友最值得收藏!

18次印刷的奇跡

——經典C語言圖書C Traps and Pitfalls簡介

如果有人問我,要想學好一門編程語言,應該閱讀什么樣的圖書?毫無疑問,在大多數場合下,我都會向他推薦市面上最新出版的圖書。原因就是:以現在計算機領域內技術的發展速度,幾乎每隔一段時間,我們就需要對自己現有的知識進行更新。這樣看來,使用一本比較新的圖書,里面的內容會比較貼近當前技術的發展,因而也就能夠讓你更容易掌握所要學的東西。

但有一本講述C語言的書,自出版以來,歷經14載,一直都被各個書評站點(或書評人)列入“重點推薦”的清單中。尤為夸張的是,14年來,在它的18次印刷版本中,除去第二次印刷稍微修改過一些問題,以后的16次印刷,我們居然發現它的內容沒有絲毫變更!對于技術圖書,我想其精確性與權威性也算是奇跡了吧。

這就是Andrew Koenig給我們帶來的C Traps and Pitfalls(《C陷阱與缺陷》)。在C/C++領域中,Andy(Andrew的昵稱)的名字對于每個人來說絕對是如雷貫耳。作為一位知名的專欄作者,Andy(和他那位同樣大名鼎鼎的妻子Barbara Moo)已經在各類雜志上面發表了上百篇的雜志文章,給很多人在技術進步的道路上帶來了極大的幫助。ACCU的Francis Glassborow對他的評價是“Andy是世界上最出色的幾位C++專家之一”。

本書是Andy的第一本技術圖書,其原始素材來自于他在1986年提交的同名技術報告。在書中,作者針對C程序在編譯、鏈接的過程中可能碰到的種種問題以及編譯、運行環境對程序可能帶來的影響等,列出了許多值得我們注意的地方。按照作者本人的觀點,以前人碰到過的問題來現身說法,可以幫助你避免那些一而再、再而三出現在你的程序中的問題。由于是以實例來描述作者(以及他人)所碰到過的具體問題,因此本書少去了許多空洞無味的說教,雖然本書篇幅不大(原書正文只有區區147頁),但實際上,它的每個小節、每一段都蘊含著作者(以及他人)大量的經驗教訓,都值得我們去仔細琢磨,經常溫習。為此,Francis 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/ANSI C。

現在,人民郵電出版社翻譯出版C Traps and Pitfalls一書,無疑是獻給C和C++程序員的一份厚禮。我本人很榮幸能夠擔任本書的技術審校,為本書中文版的出版盡一點綿薄的心力。感謝譯者的辛勤勞動,也感謝出版社能夠給我這樣的機會!希望本書能夠為你的學習帶來一些幫助。

王 昕

2002年8月

主站蜘蛛池模板: 海淀区| 郓城县| 蛟河市| 沛县| 通海县| 乐东| 南安市| 盐津县| 同德县| 开鲁县| 凤台县| 德阳市| 米林县| 山阳县| 汾阳市| 宁海县| 乐陵市| 新安县| 临安市| 敦化市| 华容县| 万载县| 沂水县| 南通市| 扎兰屯市| 十堰市| 微山县| 宁安市| 紫云| 大理市| 枞阳县| 吉木萨尔县| 彩票| 仁化县| 霍山县| 定结县| 萍乡市| 山西省| 花莲县| 博罗县| 长海县|