“這可能是我所讀過的關於C++的最好的書,我為通過這本書所學到的大量C++知識而驚異,”Synesis Software公司的開發顧問Matthew Wilson如此評價著C++ Gotchas(由Pearson的Addison-Wesley出版)。
令人興奮的是,中國青年出版社引進了該書版權,進行了嚴謹的本地化工作,出版了該書的中文版《C++程序設計陷阱》,為國內眾多程序開發設計高手提供了沖開設計陷阱牢籠的機會。
當好友讀完這本書後,他的意味深長讓我著實吃了一驚:“不光是所有程序員該讀,就連培訓機構也該開設這門課程!”
於是我也靜下心來仔細地研讀一番,結果比我聽到朋友的話更加吃驚。書中討論的那些可能出現在所有C++代碼中的基本錯誤,以及同樣會出現在C++語法、預處理、內存治理、多態性、類設計和類繼續關系設計中的各種復雜錯誤,竟是我平時根本就沒有注重到的!對於自認為是一個不錯的程序員的我來說,即使坐在敞開的窗前閱讀,也絲毫不減汗顏。在開發過程中,估計這些錯誤陷阱曾令諸多的程序設計好手百結惆怅,甚至有時會進入到思考的“死循環”中不能自拔。
俗話說“無巧不成書”,正是作者通過對每一個錯誤和它所導致的錯誤結果將會結合錯誤發生的上下文的仔細講解以及結合實例所給出的相應解決辦法,解開了許多程序員尚未解開的而且一直被忽略著的“心結”。自然地,《C++程序設計陷阱》也這樣成書了,也就為很多像我這樣“自以為是”的程序員們所推崇著,也就有很多同行寫著類似於我這篇看似吹噓而實際上都發自內心真實感慨的“書評”。
其實是不是書評並不重要,要害是大家如何看待我的想法。
就像作者Stephen Dewhurst一改一貫的程序設計類圖書的寫作思想,而從錯誤中找到主題一樣,提供給讀者的只是各種C++習慣用法和設計模式、用於產生解決共性問題的定制方法,也就是說向讀者展示了如何在布滿各種危險的C++世界中自由航行、如何避免C++編程中碰到各種的普通的和復雜的陷阱、如何編寫更輕易使用、更易維護的代碼,以及各種高級C++編程技術。正如Addison-Wesley的編輯們所寫的那樣:“它能夠避免和糾正在C++程序設計和編寫過程中所碰到的95%的最常見的、最具破壞性和最有趣的錯誤。”
從書中的介紹來看,作者Stephen Dewhurst曾經是貝爾實驗室中第一批C++使用者的一員,他具有將近20年的C++應用經驗,曾經用C++解決了諸多領域中的問題,如編譯器設計、證券安全交易、電子商務以及嵌入式通訊等領域。他還是《Programming in C++》的作者之一,是C/C++ User Journal雜志的編輯和C++ Report雜志的專欄作家。更為重要的是,他還是兩個C++編譯器的開發者。
書做到極至,可以令許多擁有它的人感到釋懷,於是,我身邊的同行朋友就把它當成一本指南,不是把玩,而是反復地閱讀,仔細地回味……