學習C++(二) 書的誘惑 (轉)
學習C++(二):namespace prefix = o ns = "urn:schemas--com::office" />
書的誘惑
/*種種原因,很多精力要投入到的學習和使用中去了,想形成一個學習C++的系列文章,沒有什麼風格,也沒有什麼時間表,想到哪就去寫。這裡想說說自己對於世面上的一些C++書籍的評價,我能保證的是下面所談到的書,我都基本讀過至少一遍,並且對於這樣一個比較敏感的話題,我將盡量保持一個客觀的態度,不過書籍始終沒有最好,只有最適合自己的,我將根據自己的喜好給出四種等級:強烈推薦,推薦,一般,不推薦。需要再次強調的是,光看書,或者光都不是的全部。*/
《C++設計語言》:如果你只買一本C++書,這本就是你的選擇,作者Bjarne就是讓你做出這樣選擇的全部理由,沒有人能比他更瞭解什麼樣才是真正的使用C++程式設計了,有人說到這本書語言晦澀,或者對與初學者此書不適合,對此評論我頗不以為然,我看的是中文版,起碼在我看來語言描敘非常到位,我喜歡這樣的技術描敘風格。全書的核心就是告訴你如何去用正確的觀念編寫正確的C++的程式碼。強烈推薦。
《C++語言設計與演化》:這本書也是我同時擁有中英兩版的兩本書之一(另外一本是《設計》)。如果在得到上面的那本書之後你需要第二本,那麼在我看來這就是你的選擇,作者同樣是Bjarne,他將在這本書中告訴你C++的起源與發展,語言原則與本質,各種特性加入的理由和考量,以及幾乎一切關於C++有趣的故事。我閱讀過中英兩版,都是強烈推薦。
《C++標準程式庫》:在AMAZON上面關於C++書籍評論最為火暴的一本。全書對於標準程式庫的介紹可謂深入淺出,而且全書都是從實際運用出發,書中例子簡單卻非常說明問題,加上一些圖表的陳列,使其概念十分清晰,而且從手冊和學習兩方面看都有其存在價值。強烈推薦。
《EFFECTIVE C++ 中文版》:無須多說,在任何C++書籍推薦目錄中都可以找到這本書的身影,盛名之下必無虛士。主要強調的是運用C++的各種特性的時候所必須注意的地方,以及一些比較通用的設計手段。其短小精悍的語言自然非常適合快節奏的現代風格,個人就十分喜歡Meyer的寫作方式。強烈推薦。
《MORE EFFECTIVE C++ 中文版》:做為上本書的姐妹篇,一樣的寫作風格,一樣的寫作目的。只是個人認為和其姐姐相比,存在差距,主要是資訊量沒有《EFFECTIVE C++ 中文版》那麼大,主要說到了一些C++的設計慣用手法。推薦。
《C++ PRIMER 中文版》:同樣是出自大師之手,作者LIPPMAN,作為早期C++的實現者之一,對與C++的瞭解以及該如何論序都有自己的獨到見解。做為C++的百科全書和《C++程式設計語言》有著一樣的地位。但是前者更強調的是C++的語法和其語義,而後者則是以如何用C++進行合理設計做為描敘的中心。全書構思十分巧妙,書的一開始就直接進入C++的主題,前面五章都用類設計一個資料結構,讓讀者完全明白了各種定義型別所代表的抽象能力,然後直接進入第六章標準庫中的容器類,這樣的設計讓讀者十分清楚的建立容器和類這兩個C++中十分重要的概念。這樣的設計針對有一定基礎的C++讀者來說可以說是非常有效果的。但是對於初學者來說,這確實不是一本合適的書籍,因為一上來太多的名詞會把剛剛接觸C++的人嚇著的。推薦。
《C++沉思錄》:非常有特點的一本書,全書假設讀者已經通曉C++語言,重點告訴讀者C++的概念以及一些C++的設計手段,比如用C++到底為什麼會比C或者其他過程語言更好?(書中給出的答案是,因為只有才有能力保持一定的狀態,而演算法沒有這樣的能力),如何進行抽象資料型別的程式設計,如何理解多型,如何透過隱藏繼承,如何進行引用技數,為了如何進行緩時複製,以及模板技術是如何發展演進最後構成成STL庫的。閱讀感覺和《C++程式設計語言》一樣,思想性非常強,讀這樣的書很累,腦子必須一直思考問題,思考作者裡面提出的問題和他提出的解決方式。這本書最大的特點是非常直接的把C++語言的核心暴露出來-----三種抽象模型和極其語言設施本身對這三種抽象模型的支援。而《C++沉思錄》給我的更深層思考是什麼才是運用C++最合理的方式。推薦。
《C++ STL中文版》:很樸實,不花俏,但是價值很高。個人認為其主要價值體現在以下幾個方面:1,對於STL的實現關鍵iterator一般都使用了兩種方式描敘,一種比較老式的方法,一種是新的 traits技巧,這樣讀者可以非常清楚的知道技術的演進。2,提供了一個STL LITE版本,閱讀這樣的程式碼對自己的提高非常大。3,書中提供的測試模組對於讀者來說也是非常有的一章,對於想擴充套件STL的,可以按照上面提供的方法測試自己的STL。缺點:裝訂比較粗糙,與大師之作的地位不相稱。推薦
《C++ PRIMER PLUS 中文版》:一本思想性不是很強,技巧性不是很強的書,但是對於初學者來說非常合適的書。其中許多論序方式都和具體化,總體來說,這本書是我看過的C++書籍裡面最合適初學者的。推薦。
《深度探索C++物件模型》:這也是一本比較特別的書,告訴你編譯器是如何安排處理物件的空間的,以及一些OO特性是如何實現的。不認為這是一本C++必須讀物,算是課後讀物應該比較合適吧,因為有時間瞭解C++的OO實現還不如花點時間搞清楚OO理論的本質概念:type theory。推薦。
《C++設計新思維——泛型程式設計與設計模式之應用》:可謂C++中的奇書。這樣的一本書,很難讓人做出正確的評價與推薦指數(尤其是以我這個實用和人生本就應該享樂為人生觀的人來說~:),因為全書所代表的思想前衛到了有點不切實際的地步,模式+泛型—多麼高雅的組合。我個人的觀點是,只有一部分人需要閱讀此書,他們就是所謂的real c++ fans,暫且不提C++本身是否遇到了困難,就其書中所代表的設計思想,對於C++沒有一點感情的程式設計師(感情就是以愛好為基礎,而不是以攢錢為前提),我想對於這樣的設計技術總會有暈的感覺,而一般程式設計師多半都不會喜歡這樣的感覺~:)。推薦。
《物件揭秘:Java、Eiffel和C++》:從書名就可以看出這本書不僅僅和C++有關係。可以說全書就是對C++的一次批判吧(書也起源與作者的一篇批判C++的文章)。有時候聽聽另外一種對自己保持清醒的頭腦是非常有幫助的,對待一個人,對待一本書以及對待一門程式設計語言都是如此。這本書好象不是很火,大概跟其宣傳不是很到位,或者同能同時瞭解這三門語言並比較關心這些語言深層次的優略的讀者比較少有關係吧,在我看來這本書包含了許多物件與型別方面的理論,最為出彩的就是作者抓住Bjarne的“在C++中一個類就是一個型別”這樣的“錯誤”言論狠批的論證過程。看這本書另外一個好處是能教會大家該如何去合理的辯駁自己的對手~:)。推薦。
《大規模C++程式設計》:書在手上很久了,可一直沒有仔細看,這也是評論之前必須說明的。總體看來書中涉及的很多東西都鮮見於其他讀本。不管AMAZON上的評論是否是這本書比較過時,起碼它介紹的許多對與我來說都是我所不知道不了解的,別人說過時是他的事情。而我,還是推薦。
《STL和泛型程式設計》:難得的一本關於泛型程式設計的理念書籍,同樣也是作為手冊和學習兩用,但是其手冊不是使用手冊,而是概念手冊,對於設計自己的STL元件,這本書有非常好的幫助,雖然網上有篇STL的文件,其中的70%內容和這本書雷同,但此書仍不失可讀性。推薦。
《C++程式設計思想 第二版》:非常一般的書,是的這就是我對這本很多人奉為名著的評論,至於為什麼是這樣的評論,或者你不相信我說的是客觀話,在你買了之後看完就知道了。一般。
《Essential C++中文版》:總感覺這本書定位不是很清楚,因為對於初學者來說其開始就涉及了太多的名詞,初學者看這本書,幾乎就不要指望能很好的。而對於進階者來說,其內容並無新意,對於C++高手來說,這樣的小讀本,根本就沒有閱讀的必要,也許是LIPPMAN+JJHOU的盛名吧,但我覺得這次算是有虛士了~:)。一般。
《STL原始碼剖析》:侯SIR的大陸兩本著作之一,但在我心中其質量好象並不如很多人說的那樣好,就同類作品《C++ STL中文版》相比較內容略現單薄,並且三章之後很多東西都給人以堆砌的感覺,而且大部分精彩的材料都出自《STL和泛型程式設計》一書,給人感覺書中侯SIR自己的東西並不多,但第二章對於記憶體管理有很好的論敘表現,並且裝訂精良,尤其是那些圖更是侯SIR的拿手好戲,但總體感覺有點華而不實。一般。
後面列出兩本不推薦的,具體原因也就不再分析。
《高質量程式設計指南--C++/C語言》,
《C++編碼規範》
另外兩本常見的C++書籍:
《Exceptional C++中文版》,《More Exceptional C++中文版》我本人並沒有閱讀過,但其名聲不小,而且加之曾經給此書作者Herb Sutter通的經歷,那種考慮到時差都不到24個小時的回信率以及在信中耐心的對技術講解的態度,同樣向大家推薦這兩本書,因為在我看來Herb Sutter能力無須考慮加上這樣待人的態度,其作品理所值得大家閱讀。
是的,上面就是我大半年來看過的C++的書籍,肯定不少人要嘲笑我的個書呆子了~:),其實我確實就是一個書呆子,至於是否需要看這麼多書,我個人意見是不需要,不然我還給出推薦等級幹什麼?選擇自己需要的就是最好。引用曾經有人說到的---評書其實就是個“如人飲水,冷暖自知”的事情。真正的書評在哪裡?各自的心裡。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998216/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iPhone 5C的“炫富”誘惑iPhone
- 被IT行業誘惑 如何轉行做個IT人行業
- 開源的誘惑——資料庫篇資料庫
- ubuntu上的蘋果mac主題誘惑Ubuntu蘋果Mac
- “真金”誘惑,印度遊戲大爆發遊戲
- 截圖的誘惑:Docker部署Puppeteer專案Docker
- 矽谷的誘惑:中國IT人才如何去矽谷找工作
- 底層--遊戲開發的終極誘惑遊戲開發
- 部署SDN:拒絕誘惑認真思考企業需求
- 網頁設計中,誘惑大腦中的“原始人”網頁
- 現實生活:程式是對話&伊甸園裡的誘惑
- C++學習推薦書籍C++
- Nature:要減少研究不可重複性,就必須解決學術欺詐的誘惑
- 任天堂的百年遊戲帝國:用“好玩”對抗所有誘惑遊戲
- 乾貨!必看創意按鈕設計,打造真正的按鈕誘惑
- 資料結構學習(c++)——二叉樹 (轉)資料結構C++二叉樹
- C++各階段學習書目C++
- 資料結構學習(C++)——二叉樹【2】 (轉)資料結構C++二叉樹
- 資料結構學習(C++)——二叉樹【3】 (轉)資料結構C++二叉樹
- 資料結構學習(C++)——二叉樹【1】 (轉)資料結構C++二叉樹
- C++學習要點 (轉)C++
- C++學習歷程 (轉)C++
- C++、C++學習之我見 (轉)C++
- Win10手機預覽版系統,那些很具誘惑的功能展望Win10
- C++未眠夜----我學習C++的心路歷程 (轉)C++
- 學習C++(一) 我現在理解的C++ (轉)C++
- C++學習筆記(二)——函式C++筆記函式
- 學習C++:實踐者的方法(轉)C++
- 《轉》Java Process應用之惑Java
- 腦圖學習 JavaScript 之犀牛書【三 · 二】型別轉換、變數JavaScript型別變數
- DirectX學習手記(二) (轉)
- 警惕自己,不斷學習c++【轉】C++
- 《從陷阱中學習C/C++》讀書筆記C++筆記
- 寶付使用者談面對人工智慧刷臉支付的誘惑,你可要留心了人工智慧
- C++學習筆記(二) 運算子過載C++筆記
- Prefer C++ (二) (轉)C++
- 資料結構學習(C++)——序言 (轉)資料結構C++
- 學習C++(VC)四步曲 (轉)C++