50條大牛C++編程開發(fā)學(xué)習(xí)建議
每個(gè)從事C++開發(fā)的朋友相信都能給后來者一些建議,但是真正為此進(jìn)行大致總結(jié)的很少。本文就給出了網(wǎng)上流傳的對C++編程開發(fā)學(xué)習(xí)的50條建議,總結(jié)的還是相當(dāng)不錯(cuò)的,編程學(xué)習(xí)者(不僅限于C++學(xué)習(xí)者)如果真的理解了這些建議,相信能夠在學(xué)習(xí)時(shí)準(zhǔn)確的抓住側(cè)重點(diǎn),少走彎路。
?下面列出這50條建議:
1、把C++當(dāng)成一門新的語言學(xué)習(xí)(和C沒啥關(guān)系!)。
2、看《Thinking In C++》,不要看《C++編程思想》。
3、看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因?yàn)樗麄兒茈y而我們自己是初學(xué)者所以就不看。
4、不要被VC、BCB、BC、MC、TC等詞匯所迷惑–他們都是集成開發(fā)環(huán)境,而我們要學(xué)的是一門語言。
5、不要放過任何一個(gè)看上去很簡單的小編程問題——他們往往并不那么簡單,或者可以引伸出很多知識點(diǎn)。
6、會(huì)用Visual C++ ,并不說明你會(huì)C++。
7、學(xué)class并不難,template、STL、generic programming也不過如此,難的是長期堅(jiān)持實(shí)踐和不遺余力的博覽群書。
8、如果不是天才的話,想學(xué)編程就不要想玩游戲–你以為你做到了,其實(shí)你的C++水平并沒有和你通關(guān)的能力一起變高–其實(shí)可以時(shí)刻記?。簩W(xué)C++是為了編游戲的。
9、看Visual C++的書,是學(xué)不了C++語言的。
10、浮躁的人容易說:XX語言不行了,應(yīng)該學(xué)YY;——是你自己不行了吧!?
11、浮躁的人容易問:我到底該學(xué)什么;——?jiǎng)e問,學(xué)就對了;
13、浮躁的人容易說:我要中文版!我英文不行!——不行?學(xué)呀!
14、浮躁的人容易問:XX和YY哪個(gè)好;——告訴你吧,都好——只要你學(xué)就行。
15、浮躁的人分兩種:a)只觀望而不學(xué)的人;b)只學(xué)而不堅(jiān)持的人。
16、把時(shí)髦的技術(shù)掛在嘴邊,還不如把過時(shí)的技術(shù)記在心里。
17、C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。
18、學(xué)習(xí)編程最好的方法之一就是閱讀源代碼。
19、在任何時(shí)刻都不要認(rèn)為自己手中的書已經(jīng)足夠了。
20、請閱讀《The Standard C++ Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn)。
21、看得懂的書,請仔細(xì)看;看不懂的書,請硬著頭皮看。
22、別指望看第一遍書就能記住和掌握什么–請看第二遍、第三遍。
23、請看《Effective C++》和《More Effective C++》以及《Exceptional C++》。
24、不要停留在集成開發(fā)環(huán)境的搖籃上,要學(xué)會(huì)控制集成開發(fā)環(huán)境,還要學(xué)會(huì)用命令行方式處理程序。
25、和別人一起討論有意義的C++知識點(diǎn),而不是爭吵XX行不行或者YY與ZZ哪個(gè)好。
26、請看《程序設(shè)計(jì)實(shí)踐》,并嚴(yán)格的按照其要求去做。
27、不要因?yàn)镃和C++中有一些語法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣。
28、C++絕不是所謂的C的“擴(kuò)充”–如果C++一開始就起名叫Z語言,你一定不會(huì)把C和Z語言聯(lián)系得那么緊密。
29、請不要認(rèn)為學(xué)過XX語言再改學(xué)C++會(huì)有什么問題–你只不過又在學(xué)一門全新的語言而已。
30、讀完了《Inside The C++ Object Model》以后再來認(rèn)定自己是不是已經(jīng)學(xué)會(huì)了C++。
31、學(xué)習(xí)編程的秘訣是:編程,編程,再編程。
32、請留意下列書籍:《C++面向?qū)ο蟾咝Ь幊?C++ Effective Object-Oriented Software Construction)》、《面向?qū)ο筌浖?gòu)造(Object-Oriented Software Construction)》、《設(shè)計(jì)模式(Design Patterns)》、《The Art of Computer Programming》。
33、記?。好嫦?qū)ο蠹夹g(shù)不只是C++專有的。
34、請把書上的程序例子親手輸入到電腦上實(shí)踐,即使配套光盤中有源代碼。
35、把在書中看到的有意義的例子擴(kuò)充。
36、請重視C++中的異常處理技術(shù),并將其切實(shí)的運(yùn)用到自己的程序中。
37、經(jīng)?;仡欁约阂郧皩戇^的程序,并嘗試重寫,把自己學(xué)到的新知識運(yùn)用進(jìn)去。
38、不要漏掉書中任何一個(gè)練習(xí)題–請全部做完并記錄下解題思路。
39、C++語言和C++的集成開發(fā)環(huán)境要同時(shí)學(xué)習(xí)和掌握。
40、既然決定了學(xué)C++,就請堅(jiān)持學(xué)下去,因?yàn)閷W(xué)習(xí)程序設(shè)計(jì)語言的目的是掌握程序設(shè)計(jì)技術(shù),而程序設(shè)計(jì)技術(shù)是跨語言的。
41、就讓C++語言的各種平臺和開發(fā)環(huán)境去激烈的競爭吧,我們要以學(xué)習(xí)C++語言本身為主。
42、當(dāng)你寫C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時(shí),請不要馬上停手,請盡快將余下的部分粗略的完成以保證這個(gè)設(shè)計(jì)的完整性,然后分析自己的錯(cuò)誤并重新設(shè)計(jì)和編寫(參見43)。
43、別心急,設(shè)計(jì)C++的class確實(shí)不容易;自己程序中的class和自己的class設(shè)計(jì)水平是在不斷的編程實(shí)踐中完善和發(fā)展的。
44、絕不要因?yàn)槌绦颉昂苄 本筒蛔裱承┠悴皇炀毜囊?guī)則–好習(xí)慣是培養(yǎng)出來的,而不是一次記住的。
45、每學(xué)到一個(gè)C++難點(diǎn)的時(shí)候,嘗試著對別人講解這個(gè)知識點(diǎn)并讓他理解–你能講清楚才說明你真的理解了。
46、記錄下在和別人交流時(shí)發(fā)現(xiàn)的自己忽視或不理解的知識點(diǎn)。
47、請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會(huì)變成Version 100.XX。
48、保存好你寫過的所有的程序–那是你最好的積累之一。
49、請不要做浮躁的人。
50、熱愛C++!
再跟大家強(qiáng)調(diào)幾點(diǎn),就像上面說的,VC++我們需要學(xué)會(huì),但請記住它并不代表C++語言,而只是C++的開發(fā)平臺,我們應(yīng)該更加重視根本–C++語言;學(xué)習(xí)編程最好的方法是看完入門教程,然后學(xué)習(xí)分析源碼,最后自己編程實(shí)踐,在學(xué)習(xí)幾門語言后就駕輕就熟了;學(xué)好C++也不是最終目的,最后你會(huì)理解到,程序設(shè)計(jì)技術(shù)才是我們一直努力的方向,它是跨語言的。
最后,也想說這句話,學(xué)習(xí)C++就請熱愛C++!