我覺得C++編程是件快樂的事情,這裡分為了許多學習的C++編程的技巧和主要事項,本文的重點並不是告訴大家編程過程中的苦與樂如何如何,而是要竭力向讀者你介紹這部書籍的好處及缺點當然,缺點肯定是一帶而過了)。
是的,作為一個幸運的成為程序員的家伙,我們在平時的工作中不止一次地體會到了Brooks在書中所描述過的快樂。但是,套用一句經典的台詞:“快樂總是短暫的,換來的便是那無盡的痛苦。”同樣還是在《人月神話》中,Brooks也提到:“這個過程並不全都是快樂……”
上面這段話的實際作用也只是為了讓我更好地轉入到我想要敘述的事情之中。現在我將開始轉入到了本文的重點,向大家推薦一本講述C++的經典書籍——《Exceptional C++》。
眾所周知,作為一門編程語言,C++編程一直以來都是以難學難用而“著稱”,不過作為一門重要的系統級的編程語言,很多時候我們又不得不去面對這門“強悍”的語言。為了讓大家更好地學習和掌握這門語言,C++編程社區做了大量的工作,編寫了大量的書籍來講述C++的方方面面,其間也湧現了大量的經典C++書籍。
如:百科全書式的《The C++ Programming Language》;參考手冊式的《The C++ Standard Library》;經驗條款式的《Effective C++》;獨樹一幟專攻某一面的《C++ Template——The Complete Guide》、《Inside C++ Object Model》……如此等等。這一切也讓學習C++的過程成為了一條“痛並快樂著”的經歷———痛是因為學習的過程,快樂是因為學習的收獲。
故此有人說,評價一個C++程序員的水平,從他看過的書籍列表中就可以得出個大概。這種言論在實際中也擁有頗多的擁護者,由此也驗證了C++編程的學習之艱難。
更而甚者,不是每本C++書籍都是讀起來讓人心情愉快乃至一閱千頁的,很多的時候,為了讓你更好地領會到“從錯誤中學習才是最有效的學習”,在很多的經驗條款性質的書籍中,作者都會在其中巧設機關,等待著傻呼呼的讀者你自己掉入他所設的陷阱之中。
然後可憐的你就成了作者最忠實的聽眾,跟隨著他一次次地出沒於C++的驚濤駭浪之中,並且從中學會了如何避免被風暴卷入的技巧,而使得自己逐步成為一個合格的弄潮兒。在這些作者以及他們所撰寫的書籍中,又以C++標准委員會現主席Herb Sutter老兄以及他編寫的Exceptional系列已出版的包括:《Exceptional C++》、《More Exceptional C++》、以及《Exceptional C++ Style》)為甚。
作為現階段的C++社區第一人C++的創始者Bjarne Stroustrup現在已經算是半退隱了,故筆者斗膽將其從寶座上拖下~~),HerbSutter的簡歷我就不願花費寶貴的篇幅去描述了,我們只來評論他所寫的書籍以及他的獵物。看看他的槍口中都有誰撞上去了吧,Scott Meyers!Wow!又是一個如雷貫耳的名字!看看他都說了些什麼:
我將GotWGuru of the Week,每周大師)的發音讀作“Gotcha”,這可能是比較合適的。當我將自己對書中問題的解答與Sutter所給出的解答相比較時,我總是會掉入他和C++)給我設置的陷阱中,雖然我不是很情願地去承認這些,但事實確實如此。對於我所犯的每個錯誤,我都好像看到了Herb在微笑地說著“Gotcha!”
Scott Meyers,Preface Of Exceptional C++編程雖說應邀來為好友書籍撰寫序言,Scott Meyers可能稍微誇大了一下自己的失誤;但作為新聞組中最負有盛名的常規性活動,Guru Of The Week對參與者的要求確實不是一般人能夠滿足的,其問題的深度也是遠遠超出大部分人平時所能考慮到的,可以不負責任地說一句,能夠參與到Guru Of The Week活動中並提出自己見解的人,其水平絕對到了我們通常所指的“高手”
即便如此,Guru Of The Week的產生速度實際上還沒有達到Scott Meyers所說的“每周一位”,由此可見,成為Guru Of The Week那是多麼困難的一件事情。幸運的是,作為文明的收益者,我們不必再“閉門造車”,自行去思考出那些怪異的Got W問題的答案,而是可以直接從前人的經驗中吸收到自己所欠缺的那部分知識。更為幸運的是,Herb Sutter還特意將這些問題中的部分及其答案修正和重新整理。
並且分門別類地把它們做成不同的系列供我們閱讀、參考、以及查閱。雖說在最開始一遍的閱讀中,筆者近乎“逢陷阱必踏”,簡直是苦不堪言,痛徹心扉啊~~,但每當思及Scott Meyers的上述言論以及自己從書中所得到的巨大收獲,我又“腰不酸了,背不疼了,腿也不抽筋了……”並且隔段時間時不時地翻閱該書,又能讓我得到不同層次上的收獲,正所謂:“痛並快樂著!”不外如是!