其實(shí)很多人學(xué)編程都會(huì)遇到困難,我覺(jué)得其中一個(gè)根本原因是他們沒(méi)搞明白學(xué)編程到底是學(xué)什么亚再。
編程不是一種知識(shí)郭膛,而是一門(mén)手藝。編程需要:實(shí)踐 + 堅(jiān)持 + 總結(jié)(筆記) 氛悬。從實(shí)踐中掌握知識(shí)點(diǎn)则剃。
我們從小到大的學(xué)習(xí)都是學(xué)習(xí)知識(shí),流程一般是課前看書(shū)預(yù)習(xí)如捅,上課聽(tīng)講棍现,下課做作業(yè),然后復(fù)習(xí)考試镜遣。包括你們的C語(yǔ)言課程己肮,估計(jì)也是這么上。但是學(xué)手藝可不是這么學(xué)的悲关。
我們先拿游泳舉例谎僻,游泳不是知識(shí),而是技能坚洽,也可以算門(mén)手藝吧戈稿。需要預(yù)習(xí)嗎?需要上課聽(tīng)講嗎讶舰?不需要鞍盗,因?yàn)閮蓺q小孩都能學(xué)會(huì)游泳,他們連話都不太會(huì)說(shuō)呢跳昼,怎么可能聽(tīng)課預(yù)習(xí)呢般甲。游泳是通過(guò)在水里的練習(xí),教練手把手地傳授動(dòng)作鹅颊,一點(diǎn)一點(diǎn)提高熟練度學(xué)會(huì)的敷存。(看出了嗎,游泳需要靠實(shí)踐練習(xí))
我們?cè)賮?lái)看看彈琴堪伍,學(xué)鋼琴一定要有鋼琴锚烦,音樂(lè)基礎(chǔ)知識(shí)也是老師在練琴間隙傳授的,并且一定會(huì)結(jié)合練習(xí)帝雇,另外練琴時(shí)間是很重要的涮俄,必須保證一定的練習(xí)量,有些理想遠(yuǎn)大的琴童練琴時(shí)間可以用慘無(wú)人道喪心病狂來(lái)形容尸闸。(看出了嗎彻亲,鋼琴需要靠實(shí)踐練習(xí))
千萬(wàn)別把編程看作知識(shí)孕锄,計(jì)算機(jī)科學(xué)是知識(shí),但是編程是手藝苞尝。既然是手藝就要用學(xué)手藝的思路去學(xué)習(xí)畸肆。
以動(dòng)手練習(xí)為主,看書(shū)學(xué)習(xí)為輔宙址,甚至極端點(diǎn)轴脐,初學(xué)的時(shí)候除了看必要的說(shuō)明文檔,甚至可以不要系統(tǒng)看書(shū)曼氛,等有了一定編程基礎(chǔ)后再去看書(shū)豁辉,看完書(shū)立刻動(dòng)手編程去驗(yàn)證書(shū)上的理論知識(shí)。(重點(diǎn)是練習(xí))
練習(xí)一定要循序漸進(jìn)舀患,從簡(jiǎn)單到復(fù)雜。把手藝分解成幾個(gè)簡(jiǎn)單的動(dòng)作气破,反復(fù)練習(xí)直到熟練聊浅,然后再把基本動(dòng)作組合起來(lái)練習(xí)直到熟練。拿C語(yǔ)言舉例现使,比如從認(rèn)真寫(xiě)好一個(gè)Hello world開(kāi)始低匙,然后去熟悉 if for while 等基本關(guān)鍵字,然后熟悉字符串操作碳锈,內(nèi)存操作顽冶,練習(xí)查找 排序 二叉樹(shù)等基本算法數(shù)據(jù)結(jié)構(gòu),然后學(xué)習(xí)一個(gè)小型項(xiàng)目售碳。强重。。贸人。
現(xiàn)在IT界的大佬里间景,馬化騰公認(rèn)天賦不高。在深大讀計(jì)算機(jī)時(shí)艺智,小馬不顯山露水倘要,他不是編程最強(qiáng)的也不是成績(jī)最好的,但完全不妨礙其后來(lái)的發(fā)展十拣。同時(shí)封拧,小馬本身也是一名合格的程序員,據(jù)說(shuō)寫(xiě)了第一版的OICQ Dialog夭问。后來(lái)小馬總結(jié)自己編程的學(xué)習(xí)方法泽西,是用抄代碼來(lái)打基礎(chǔ),我覺(jué)得他的方法對(duì)初學(xué)者也是適用的甲喝。**
不知道怎么學(xué)尝苇?覺(jué)得自己天賦低铛只?想做APP?那就用笨辦法,看點(diǎn)基礎(chǔ)的知識(shí)語(yǔ)法入門(mén)糠溜,然后上網(wǎng)搜一下別人做的相關(guān)例子淳玩,或者教學(xué)視頻什么的都可以,有源碼簡(jiǎn)單點(diǎn)的非竿⊥勺牛看別人是怎么實(shí)現(xiàn)的,把別人的實(shí)現(xiàn)過(guò)程自己在電腦上實(shí)現(xiàn)一遍红柱。調(diào)通OK了承匣,改一下其中的某個(gè)模塊實(shí)現(xiàn)一些新的功能,就這樣一步一步的往前走锤悄。多寫(xiě)代碼多積累韧骗,有一定的基礎(chǔ)了再回去看書(shū),和別人交流零聚,參與到一些學(xué)校組織或者社會(huì)上的開(kāi)源非開(kāi)源項(xiàng)目中袍暴。在這個(gè)過(guò)程中不斷動(dòng)手、總結(jié)隶症、積累政模、看書(shū),螺旋式上升蚂会,即使你的天賦不如別人淋样,我相信你的編程能力最后一定不會(huì)比別人差。
談到天賦胁住,在我讀書(shū)時(shí)趁猴,學(xué)校很多編程大牛都是沒(méi)日沒(méi)夜在實(shí)驗(yàn)室干活,在各種科研創(chuàng)業(yè)團(tuán)隊(duì)里做事措嵌。隔壁宿舍的大神基友每天晚上11點(diǎn)從實(shí)驗(yàn)室回來(lái)躲叼,睡前的愛(ài)好是看Android源碼,各位捫心自問(wèn)企巢,你真的盡力了嗎枫慷?如果沒(méi)有盡力談天賦又有什么意義?很多初學(xué)者的意志還是太薄弱了點(diǎn)浪规,校園里比起社會(huì)已經(jīng)舒服很多了或听。
對(duì)于程序員來(lái)說(shuō),編程是基礎(chǔ)笋婿,是敲門(mén)磚但不是全部誉裆,如果你想往更高的層面發(fā)展,學(xué)習(xí)能力缸濒、努力程度足丢、情商缺一不可粱腻。建議題主先把心態(tài)擺正,靜下心來(lái)斩跌,再努力一段時(shí)間試試绍些。
最后,編程還是需要下苦功夫的耀鸦,靠堅(jiān)持柬批,反復(fù)練習(xí),整理知識(shí)(特別是自己不會(huì)的知識(shí)點(diǎn))袖订、做好筆記氮帐。當(dāng)你看到自己的程序,運(yùn)行的那么美妙時(shí)洛姑,你會(huì)驚訝的發(fā)現(xiàn)上沐,原來(lái)你在創(chuàng)造世界。
該文章部分內(nèi)容轉(zhuǎn)載自知乎吏口。