JackZhou的負責任書評:C++ Primer中文版(第4版)

來源:互聯網
上載者:User

     C++ Primer中文版(第4版)書評

 

  (1)優點:作為最經典的一本C++入門書籍,其最大的優點就是內容全面,遵循標準,講解細緻。C++語言的所有基礎知識在這裡都可以一覽無餘。在作者極其細膩的筆法下,C++這頭猛虎變得不再可怕。書中不僅教你C++文法,也教你怎麼寫程式(當然只是初級的層次)。很早就引入C++標準庫是書中的一大特色,也許剛開始作為初學者會覺得有點失措(注意知識本身並不難,因為流和容器的概念本身並不難理解),但作者這樣安排無非是向你傳達這樣一種觀點,即學習語言是為用它來寫程式,而不是成為語言專家。這是我們學習任何電腦語言最基本的原則(當然搞電腦語言研究的學者除外)。有人說這更像一本C++編譯器參考手冊,這我不敢苟同。眾所周知,C++是一門難學易用的語言(候捷語)。難學是因為C++文法本身很複雜,功能很強大,支援的編程範式也很多,每種文法糖又有很多特例和不推薦使用的設計風格,因此對文法的介紹必須細膩全面,只是要注意介紹文法糖時要以寫程式為目的,而不是為了文法而文法。作者時刻讓你知道,每種C++文法都有何用處,應該怎麼用。而易用則是因為C++標準庫(特別是STL)設計得非常優雅,抽象程度非常高,非常好用,用起來簡直就是賞心悅目。三個核心概念容器、迭代器、演算法對於一個有電腦學科基礎(如資料結構和C語言基礎)的人來說並不難理解。另一方面,即使標準庫中沒有你要的東西,只要你的C++基礎紮實,憑藉它強大的表達能力(可以肯定地說,C++是所有語言中表達能力最強的),要設計出抽象程度高的庫來並不難。

   (2)缺點:筆法細膩經常會帶來另一個後果,那就是語言囉嗦。我在閱讀時經常感歎,為什麼很簡單的一個概念要說得這麼哆嗦呢(與中文翻譯無關,我看了英文原版就是這樣),有時還要重複幾遍。整本書閱讀起來還是比較累的,很多東西我感覺用一句很簡單的話就能解釋清楚,然而在作者的筆下說得卻很煩。可能是作者為了照顧初學者,但照顧初學者也不應該失去語言的簡潔性,書中很多簡單的東西寫複雜了。整本書的語言中規中矩,不夠生動,相比Scott Meyers的effective C++的語言風格,那就差遠。技術書籍讀起來本來就比較枯燥,所以我覺得語言風格也蠻重要的。另外,作者是用一個例子來串起整本書的,但這個例子我感覺又不夠完整,並沒有讓讀者形成一個清晰的軟體設計圖景。其實我不太推崇用一個例子串起整本書的寫作風格,
這樣章節之間關聯性會很強,而且一個例子一般不能解釋整本書的所有問題。
相反,多個例子則能讓讀者豐富知識面,也能夠把概念或問題解釋得更清楚。

    (3)學習建議:最好在兩個月內讀完,我是一個月內讀完的。那本習題解答的書籍不能少,書中的每一個習題都不要放過。雖然不一定要求每個題目都要自己做,但至少也要在習題解答書上看看人家怎麼實現的。寫不出代碼來就多看看人家的代碼,並模仿、動手、思考,這樣往複迴圈,提高就會很快。一定要樹立這樣的觀念,寫程式是學習語言類書籍的核心,實際上對Computer Science來說動手與動腦同等重要。書中的附錄也不要放過,這麼經典的書籍(而且經過了幾個版本的垂練)最好每一頁都不要放過。一旦你仔細地把整本書都啃完,你就會有撥雲見日的感覺,哦,原來C++就是這樣的,你也會發現自己的功力大增。

    (4)需要的基礎:很多人說這本書不適合C++初學者,我不同意這種觀點。人家國外的程式員都用它入門,我們為什麼就不能呢?很多人可能是受譚浩強的書籍的影響,認為那樣的書最適合入門,這沒錯。事實上這本書也完全擁有譚浩強的書籍的特點,而且它還全面,既可以做C++入門書籍,也是資深的C++程式員不可或缺的參考書。中國人學習總讓人感覺喂飯似的,需要別人一口一口地餵給你吃,而且還不能太多,生怕咽著;又不能太少,少了又抱怨,這不能不說是一種悲哀。學習本來就是一個探索的過程,沒有探索哪來的樂趣。

    我覺得只要你有程式設計的基本概念和演算法的基本思想(如C語言和資料結構的基礎),就完全可以學習這本書,當然如果你有物件導向的基礎,或者有物件導向語言的經驗(如Java或C#),那看這本書就非常輕鬆了。

    (5)書籍指數:五顆星(滿分為五顆星)

    (6)推薦指數:五顆星

   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.