如何學(xué)習(xí)編程
(作者未知) 2012/4/1
如何學(xué)習(xí)編程
首先,我想說一下學(xué)習(xí)思想.學(xué)編程其實(shí)跟網(wǎng)絡(luò)游戲有著類似的效果.開始的時(shí)候,你會對那些代碼,函數(shù)等產(chǎn)生很大的興趣,尤其是剛接觸編程的人,剛學(xué)習(xí)第一種語言的人.可是,當(dāng)你一步步深入的時(shí)候,你會發(fā)現(xiàn)你沒有了以前那種斗志.就好象你在玩韓國泡菜網(wǎng)游似的,玩到一定程度,每天就是練級練級,完全是一個(gè)想沖到高級別的意志力在支持著你.而學(xué)編程就更難了,學(xué)了兩個(gè)月后,總是覺得你好象全都學(xué)會了,卻又什么都做不了,又沒有其他的意志力支持你.這時(shí)候你會很容易放棄,或者轉(zhuǎn)到別的如網(wǎng)業(yè)制作,PS,FLASH等行業(yè)的.其實(shí)我告訴你,雖然你覺得你好象已經(jīng)學(xué)了很多了,其實(shí)你還是什么都沒學(xué)呢,等你跨過這道坎,才是你剛?cè)腴T的時(shí)候.說這些,只是想告訴你,學(xué)編程中會遇到很多困難,你要努力的克服這些困難,才能真正學(xué)到東西.否則,你根本別想學(xué)編程,趁早轉(zhuǎn)行. 接下來,我?guī)湍阋?guī)劃一條編程之路.
學(xué)編程的人,很少有人沒學(xué)過C語言的.我推薦讓C語言作為你第一個(gè)學(xué)的語言.雖然有的人說要先學(xué)VB,其實(shí)這種觀念是錯(cuò)誤的.C確實(shí)比VB枯燥,而且說實(shí)話學(xué)完C后不學(xué)別的就好象沒學(xué)過,感覺什么都沒學(xué)會.可是,對初學(xué)編程的人來說,只有C語言才能建立起你對編程概念的理解.VB不是編程,VB只是一種工具而已.C語言確實(shí)是個(gè)不折不扣的語言,真正讓你知道什么是編程的語言.有初學(xué)C語言,用TC2編譯器的人總說他學(xué)了C什么都不會.什么軟件也寫不出來.我可以告訴他,編程編程,編的是程序,而不是軟件,軟件這是程序的一個(gè)構(gòu)價(jià).你想編程出軟件,那以后很輕松的就能掌握,現(xiàn)在你需要學(xué)的就是編程,說明確一點(diǎn),你現(xiàn)在所需要學(xué)的就是算法.編程的靈魂是算法,這點(diǎn)每個(gè)人都要記住.
所以,第一門語言要學(xué)C,推薦的書為譚浩強(qiáng)老師的﹤C程序設(shè)計(jì)﹥(清華大學(xué)出版社)或者克尼漢的﹤C程序設(shè)計(jì)語言﹥(美國).
初學(xué)者也許需要一套視頻教程來幫助自己更快的入門,那么就推薦你去百度搜索"C語言視頻教程",第一頁的第一條記錄就是這個(gè)教程.而且是和譚老師的﹤C程序設(shè)計(jì)﹥配套的教程!
注:有些人說譚浩強(qiáng)的書不好,太死板.那么我只能說你最多是個(gè)一瓶子不滿,半瓶子逛蕩的人.真正要掌握高深技術(shù)的時(shí)候,你會發(fā)現(xiàn)你沒辦法掌握.
C語言要學(xué)到什么樣才算個(gè)頭呢?其實(shí),C語言沒有學(xué)到頭一說.有些人學(xué)了一輩子,還在鉆研.那么你應(yīng)該到什么時(shí)候?qū)W下一種呢?按時(shí)候算的話,我推薦,如果你每天有6個(gè)小時(shí)的時(shí)間學(xué)習(xí)的話,一個(gè)半月以后,你就可以轉(zhuǎn)到下一個(gè)語言的學(xué)習(xí)過程中了...(我估計(jì)普通人在這一個(gè)半月內(nèi)該掌握的都掌握了)
那么,下面要學(xué)的是什么呢?這會不會還有人說VB吧.還美其名曰加深對編軟件的印象.這種說法很幼稚.學(xué)了C語言還學(xué)什么VB呀.其實(shí)VB確實(shí)是很強(qiáng)大的,容易入門,想精通了也不容易.著名的DOS系統(tǒng)就是用BASIC語言寫出來的.可是,這種這么易用的軟件對于專業(yè)學(xué)編程的人是一種不好的東西,會讓人產(chǎn)生依賴,讓人產(chǎn)生惰性.VB的那些控件的功能實(shí)在是太強(qiáng)大了,你都不用怎么思考,就可以編寫出來.可是,控件畢竟是不能隨你的意愿支配的,控件是死的東西.你真正要學(xué)的是編寫的思想,是函數(shù)(Java中稱方法).另外,學(xué)VB還不如去學(xué)Delphi呢.
注:市面上的軟件一般一眼就可以看出是用什么語言編程的,而VB編寫的軟件幾乎找不到多少.
所以,下面要學(xué)的也就那兩種選擇了,C++/Java.我推薦,先學(xué)Java.
Java實(shí)際上是C++改的.去除了C++中指針的部分,讓C++變得更安全,同時(shí)也比C++稍微簡單了一些.你需要去找一些關(guān)于Java的介紹,在看下面的東西.
我聽一個(gè)北大青鳥的老師說Java的最終發(fā)展目標(biāo)是J2EE.我覺得不然,J2ME一定也是個(gè)發(fā)展方向,只是他跟J2SE,J2EE有很大的不同,開發(fā)環(huán)境也很不同.關(guān)于J2ME的部分我不做討論.而J2SE呢.說實(shí)在的,市面上的J2SE軟件確實(shí)也是很少的,你見過有幾個(gè)拓展名為.jre的軟件?不過還是要告訴你,學(xué)習(xí)Java的人肯定最先接觸的是J2SE.Java的GUI軟件只是技術(shù)性的問題,也是開發(fā)手段的問題.不管你是要發(fā)展到J2EE,還是轉(zhuǎn)到GUI編程,J2SE絕對不是彎路.還是那句話,算法是最重要的.而Java比C++最大的優(yōu)勢在于他的完全面向?qū)ο蠛涂缙脚_.其實(shí),就算你先學(xué)了Java,你還是可以很容易的掌握C++,Java程序員和C++程序員的互轉(zhuǎn)是很容易的!再說一些Java的優(yōu)點(diǎn).Java比C++方便很多,下載了編譯器后一個(gè)記事本就能寫程序,JBuilder實(shí)際上只是個(gè)輔助的工具.我去一個(gè)搞Linux系統(tǒng)開發(fā)的公司看過,用JBuilder的很少,一般都(未完,下一頁)
|