學習C++的第一本書

《C++程序設計原理與實踐》,這是我見過的唯一一本不以語法爲主線索的教材,它是以實踐需要來逐次引入相關語法的。對於初學者,最重要的是建立自信。若以語法爲主線,也許教材已經看了大半,可還沒有實現過第一個完整程序,所有知識點都是完全依靠記憶的,而往往需要記的東西越多,人就越不自信。有多少人都曾經經歷多,教材都看完了,可覺得自己還啥程序都不會編。


 

英文版:http://book.douban.com/subject/4068100/
中文版:http://book.douban.com/subject/4875599/


這本書極度重視編程風格的引導。建立良好的審美觀是極重要的。Kent Beck有語:“I'm not a great programmer; I'm just a good programmer with great habits.”《敏捷軟件開發:原則、模式與實踐》的翻譯者鄧輝有觀點:“代碼質量是軟件質量的最直接、最根本的體現,所謂的設計、架構如果不能最終通過高質量的代碼體現出來,都等於空。如果不真正的關注代碼質量,不以最終代碼作爲衡量設計和架構的依據,那麼其他一切所謂的要提高軟件質量的活動基本上都是自欺欺人。Clean code matters most。”

本書也極強調編程是一個漸進演變的過程,是一個多原則協同、衝突下進行取捨的過程。在“簡單就是美”的認識下,KISS是最有指導性的原則。太多的教材是教會了語法,卻沒有教會編程了。

本書也延續了Bjarne Stroustrup的風格:話說半句。後半句是要靠自己思考來補全的。習慣於填鴨式教育的人,常呈現輕微思考力退化,恐不能適應此書。

看書不做題,等於沒看。希望你不是一位手懶的初學者。否則,你的學習之路可能會很漫長、很曲折。

好奇,是學好編程的極重要的因素。但是,足夠好奇就可以了,千萬不要過於好奇。《C++ Primer》之所以很多人認爲不適合初學者,就是因爲列出了太多的語法細節,以至於成爲了一本手冊,雖然這麼多細節是成爲中高級C++程序員的必須。而《深度探索C++對象模型》幾乎就是爲了填補過度好奇(及因此造成的,對未知的恐懼),而來的。不要過度陷於語法細節之中。本書則多次明確地刻意保護你不要陷入的地方,對於初學者,請一定要於此收好自己的好奇心。不需要掌握這麼多的細節,我們仍然足以完成絕大部分編程,並且絕大部分編程也應該優先選擇那些不需要太多語法細節的解決方案(所謂“學深用淺”)。而試圖瞭解這麼多的(不怎麼用得上的)細節,會因爲記不住而恐懼,而擊潰自信。

對於已入門者,本書可以用來證明你真的懂了很多編程原則。記住一句老話:“再好的老師也不能教會你什麼,只是證明你是否真的懂了”。就像我這樣,用2周時間快速通覽一下吧,你應該還是能有很多收穫的。請着重關注第4、19、25章節。如果你對此書中的觀點有排斥,有不認同,請自行關注一下“空杯理論”。

另外,此書中文版沒有帶上原書的附錄,實在可惜。而,尤其既然連最重要的索引表都砍了,可稱可恨!我們有太多人,受填鴨式教育太久了,竟然都不知道有“索引表”這東東。《C++ Primer》和《The C++ Programming Language》最有價值的就是書後的索引表了。我在學習階段,爲了獲得《The C++ Programming Language》的中文索引表,特意買了一本中文版呢。

最後,本書只是一本入門書籍,要想成爲高等級C++程序員,還有太多本書需要看呢,而總也繞不過去的書單裏,會有《C++ Primer》和《The C++ Programming Language》。

祝此書的讀者順利!

【摘自】http://topic.csdn.net/u/20100827/09/eb951ceb-d55b-4aa8-8368-3e1cd99cd153.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章