如何成為一名C++程序員
如何成為一名C++程序員呢?
入門
入門就是要初步對編程的思想有個了解,并且能編程解決一些小問題。入門一定要選好書,難度如果太低了會造成對讀者的誤導,以為編程就是這么回事;也不能太高深,免的打擊讀者的信心。既然編程的入門要求是編一些小程序解決小問題,那么就沒必要直接學習C++,我覺得循環(huán)、判斷、跳轉(zhuǎn)、指針才是最基本的編程思想,學通了這些對以后學習C++很有幫助。
我建議應該先把C扎實地學好,不光要掌握C的語法,因為學習編程的最終目的是解決實際問題,所以還要適當掌握把實際問題與編程聯(lián)系在一起的能力,我推薦《 C程序設計語言(第2版) 》,這本書是C語言之父寫的,不僅詳盡介紹了C的語法,還提供了很多實際的小問題作為實例,可以說看了這本書之后能為以后的編程學習打下一個扎實的基礎!
提高
學了《 C程序設計語言(第2版) 》后可以開始學習C++,一開始沒必要鉆很深的大部頭書,《 Essential C++中文版 》非常適合初學,一個禮拜就可以看完,看了它可以快速對C++的全貌有個了解,雖然不會馬上熟練掌握C++。
我們不能滿足于解決“百錢買百雞”,真正實現(xiàn)程序還有很多非功能上的問題,比如怎樣做才能使用更少的內(nèi)存?怎樣做才能更快?在熟悉一門語言后,一定要認真學習的就是數(shù)據(jù)結(jié)構(gòu)!數(shù)據(jù)結(jié)構(gòu)保證了我們的程序能以高效的方式運行。《 數(shù)據(jù)結(jié)構(gòu)算法與應用C++語言描述 》是本好書,它提供了很多實際的例子,比如火車站調(diào)度、走迷宮,相比于“百錢買百雞”這種問題又提高了一個層次。
接下來專心提高C++的水平,可以選擇《 C++編程思想 》,然后再看《 Effective C++中文版 2nd Edition 》和《 More Effective C++中文版 》,這兩本書介紹了高效使用C++的寶貴經(jīng)驗,語言很幽默。至此,你已經(jīng)可以自稱是C++程序員了,恭喜!
下面介紹幾本書,有興趣的朋友可以選讀。如果想高效地使用C++開發(fā)軟件,STL一定要學!《 C++標準程序庫—自修教程與參考手冊 》可以幫你學會STL的使用,而且開發(fā)時可以拿它做手冊,有了前面數(shù)據(jù)結(jié)構(gòu)的基礎,學習STL的使用不會遇到什么困難。如果你還想知道STL的設計思想及原理,不妨看看《 泛型編程與STL 》。有些朋友可能會問,C++的面向?qū)ο髾C制是怎么實現(xiàn)的?《 深度探索C++對象模型 》給了你答案,它剖析了C++底層的實現(xiàn)。最后,如果想有一本C++大百科全書,那非《 C++程序設計語言(特別版) 》莫屬!這本書是C++之父Bjarne Stroustrup的大作,算是書中權(quán)威。
再提高
到現(xiàn)在為止,你已經(jīng)熟練掌握C++語言了,現(xiàn)在需要提高的就是設計思想,面向?qū)ο?OO)的最大特點是把我們的注意力從系統(tǒng)的執(zhí)行體系結(jié)構(gòu)轉(zhuǎn)移到概念體系結(jié)構(gòu),因此利用OO開發(fā)大型系統(tǒng)會更輕松。但是經(jīng)??梢钥吹饺藗兡弥鳦++用面向過程的思想解決問題,缺乏的就是面向?qū)ο蟮脑O計思想,也難怪,在這里之前看的書都沒有教你怎樣用面向?qū)ο蟮姆椒ㄩ_發(fā)系統(tǒng),頂多介紹了面向?qū)ο笫鞘裁矗戳诉@么多書難免會先入為主,《C語言程序設計》(或者你看的第一本編程書)中的思路潛在的影響著我們。這條鴻溝就由《 設計模式--可復用面向?qū)ο筌浖幕A 》來補救吧!所謂模式就是前人總結(jié)出來的、經(jīng)過千錘百煉的一種系統(tǒng)結(jié)構(gòu),設計模式展示了23個經(jīng)典的模式,通過學習、理解,你可以看到什么是真正的面向?qū)ο蟆?/p>
看了《 設計模式--可復用面向?qū)ο筌浖幕A 》后,有時間不妨看看《 重構(gòu)--改善既有代碼的設計(中文版) 》,學了面向?qū)ο蟮脑O計思想后看它,可以站在一定高度重新審視一下自己的C++編程水平。
結(jié)束語
在學習編程的過程中一定要注意多實踐!學習時到專業(yè)論壇同大家討論是個不錯的辦法,你會找到許多熱心的朋友與您一起學習,能通過學習編程交些朋友不是更好嗎?最后,希望您能成為優(yōu)秀的程序設計師,為中國軟件的發(fā)展貢獻一份力量!
【編輯推薦】