程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 跟在天才後面學打怪(讀《Exceptional C++》有感)

跟在天才後面學打怪(讀《Exceptional C++》有感)

編輯:C++入門知識

 

今天想結合C和C++的學習歷程,介紹一下幾位牛人,以及學習的些許感悟。在我眼裡,牛人==英雄,而推動人類歷史發展的從來都是少數的牛人/英雄。當然你或許很不習慣這種說法,因為我們小學時的《思想道德》書一直在強調著兩個觀點“集體的事再小也是大事,個人的事再大也是小事”,“摒棄個人英雄主義”。“集體主義”和“個人英雄”是“表面”意識形態的問題,就像權力理論上是大家的,其實還是小家的,這東西大家知道就行了,討論起來沒啥意思,也不利於社會和諧。廢話少說,趕緊切入正題,下面先介紹幾位直接、間接給社會做出很大貢獻的牛人

 

 

首先是丹尼斯·裡奇(Dennis Ritchie),在哈佛大學獲得學士學位,並在哈佛以肄業生資格學習物理,以研究生資格學習應用數學,1967年進入貝爾實驗室,C語言之父,UNIX發明人之一,1983年圖靈獎獲得者,1999年美國國家技術獎章獲得者。C語言目前是使用最廣泛的計算機編程語言,對現代的編程的語言如C++,C#, Java, JavaScript, Objective-C等擁有極大的影響。幾乎可以肯定的說,這些現代語言就是在C語言的基礎上發展的。C語言簡潔、生動、准確,一出現便以摧枯拉朽之勢俘獲了無數程序員的芳心,更引來很多物理、數學天才“棄暗投明”到計算機領域。如果把寫程序解決問題看成打怪,那麼C語言無疑就是一套非常犀利的武器,讓程序員披堅執銳,加魔加血,攻擊力和防御力都大增。當你拿著C語言像斯巴達勇士一樣站在溫泉關前殺退一個又一個敵人時,你一定會感激那位白胡子老者,縱然他已經離開人世。

 

在貝爾實驗室,丹尼斯·裡奇有一位同事叫比雅尼·斯特勞斯特魯普(Bjarne Stroustrup), 1979年獲得劍橋大學計算機科學博士學位,C++之父。比雅尼發明了C++,寫下了它的早期定義並做出了首個實現,設計了C++主要的輔助支持環境,並且負責處理C++標准委員會的擴提案。此外他還寫了一本C++的經典教材《The C++ Programming Language》,不過這本書感覺對初學者來說有些艱深,另一本經典教材《C++ Primer》對C++初學者來說更容易上手。C++在語句語法上和C語言幾乎一樣,但它是一種面向對象的語言,泛型編程語言。C++中的模板功能使工程在編譯器能完成很多工作,能提高不少運行效率。從直觀上看C++比C多了類和容器,正是這兩者讓C++比C更加健壯,也讓程序員變得更加自由。在工程中程序員根據需要,有針對性的寫一個類,無疑可以有效的避免代碼重復,也讓代碼的維護變得更加容易。如果把程序員比作作戰的勇士,那麼C++就像一個牛逼的軍火商,勇士在不同的作戰環境下,可以根據需要,迅速的制造一些有針對性的武器。這無疑是相當犀利的。

 

你是否還記得,在高中時,學校總是組織各種月考與周考,其中有些出題老師總喜歡出些有陷阱的題,然後不懷好意 的等著大家往裡跳。每次考試之後,很多同學會大聲疾呼“沒注意”,自然是跳進挖好的坑裡了,不過,每次跳進陷阱之後,我們也變得更加“聰明”,對某些經常設陷阱的知識點理解得也更加透徹,老師美其名曰:“查缺補漏”。這是一種極其高效的學習方法--“從錯誤中學習”,最近在軟件工程課的讀書名單中選了一本聶雪軍翻譯的《Exceptional C++》,看過之後,覺得這本書的大致育人理念就是如此了。作者在其中廣設機關,一不小心就會跳進去,沒辦法,只能一頁一頁的跟著他在C++各種Exception的風暴中突擊前行,有驚無險 的安全著陸。有時,你不得不想設計這麼多陷阱的人是怎樣一個精明,古怪的家伙。

 

書上作者署名Herb Sutter,就維基百科了一下,結果就石化了,作者Herb Sutter是C++標准委員會的主席,出了一系列的Exceptional C++方面的書。不禁感慨自己真是孤陋寡聞。於是就想到豆瓣上看書評,一搜發現,評論竟然少於10條,看來國內讀者不多啊。

 

在書的序言中,Scott Meyers(又一位讓人膜拜的大牛)這樣說“這是一本寫給已經熟悉C++----熟悉C++的一切----的人看的書。從語言特性到標准庫組件再到編程技術,本書從一個主題跳到另一個主題,總是使你處於些微失衡的狀態,總是確保你專心致志。”好吧,連大牛都承認看這本書有些許失衡了,我只能說這是一本“痛並快樂著”的書,“痛”是因為在這本書中我是逢陷阱必跳進去,“快樂”是這本書有詳細的解釋,在你跳進陷阱之後會給你一個向上攀爬的梯子。每次有時間,當成小說來翻一翻這本書,被虐之後總會有不同的收獲,摸爬滾打之間對C++也有了更深的理解。想起和朋友一起學習輪滑的過程,“摔得越多,學的越快”一直掛在大家的口頭,不禁欣然。

 

Written by 李明磊

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved