總能看到很多學(xué)習(xí)編程的初學(xué)者在問如何學(xué)編程比較好,似乎不論是看書還是看視頻都很容易忘。這里先不談現(xiàn)在人們啥事兒都想快速學(xué)會這種浮躁的心態(tài)問題。這里就簡單的談一下我對編程的學(xué)習(xí)方法的一些看法。
說白了,就是一個(gè)學(xué)習(xí)方法的問題,這點(diǎn)不只iOS,其實(shí)任何編程都是一樣得。
很多人學(xué)編程主要就看書,看視頻,甚至跟著視頻開發(fā),但也覺得沒用。 為什么? 因?yàn)樵谶@個(gè)過程中并沒有真正動(dòng)腦,所以這其中得知識點(diǎn)也很容易過目就忘。
這個(gè)邏輯,在背單詞上也有運(yùn)用,同樣都是看單詞:
1. 看一眼英文,想一下是啥意思,想不起來,再去看中文。
2. 看一眼英文,看一眼中文
重復(fù)看幾遍,1和2效果相差巨大。 按1看三遍,你基本就記住了。按2看三遍,你還是啥都記不住,連一點(diǎn)印象都沒有。
所以這個(gè)階段,
其實(shí)你去看任何書,看任何視頻,都是沒用得。
跟著書,跟著視頻敲代碼,作用都是很小得。
怎么辦?其實(shí)很簡單,和上面背單詞得例子一樣。
你把你看書看視頻想要學(xué)習(xí)得知識點(diǎn),列一個(gè)表,然后你YY一個(gè)App,App得功能能夠盡可能多得覆蓋到你得想要學(xué)習(xí)得知識點(diǎn)。
然后建新工程,開始寫。遇到不懂不會的先思考,想不出來再去查書查視頻,不要隨便問,不要做伸手黨,因?yàn)槟愕玫街R得過程越容易,這個(gè)知識就越不屬于你
你會說, 我剛開始學(xué)耶,怎么可能就獨(dú)立做App。
你錯(cuò)了。
這是很多人最都犯得錯(cuò)誤,我覺得最核心得還是中國得計(jì)算機(jī)教育得方法不對。為什么很多人都會認(rèn)為“獨(dú)立做個(gè)App”很難? 是因?yàn)樗麄儩撘庾R里,學(xué)習(xí)編程得過程是這樣得:
1. 學(xué)習(xí)A->學(xué)習(xí)B->學(xué)習(xí)C->............................學(xué)完了!
2. 我要開始做項(xiàng)目了,這個(gè)時(shí)候發(fā)現(xiàn)不管看啥東西,好像都挺難做得,而且似乎自己學(xué)過得東西,也沒什么印象了,函數(shù)也不記得怎么用。
簡單的講:逐一學(xué)習(xí)了每一塊積木的形狀與用法,然后別人給你一座城堡,你去思考如何造個(gè)一樣得出來。(思維是逆向的,解題式的,過程是漫長的,成就感是沒有的,挫敗感是一直有的)
那有沒有更有效得方法呢? 我覺得是有得。
分享一下我中學(xué)學(xué)VB的過程
1. 拿到譚浩強(qiáng)老師的書,翻了兩頁,學(xué)會了InputBox(彈出一個(gè)輸入框,接受用戶得輸入,函數(shù)得返回值就是用戶輸入得字符串), 以及MsgBox(彈出消息框)得用法
2 靈機(jī)一動(dòng),貌似能做點(diǎn)東西了。
(當(dāng)時(shí)很流行一種網(wǎng)頁,你進(jìn)入后會不斷彈框,問你得好朋友名字,你的名字,你暗戀的女生名字,最后生成一篇有意思得文章)
3. 沒錯(cuò)我就山寨了一個(gè)這種應(yīng)用得Windows Form版出來。其實(shí)就靠這兩個(gè)函數(shù)。這就是我第一個(gè)“獨(dú)立App”
4. 之后又想到,誒既然能接受用戶輸入,豈不是就能做計(jì)算器了?于是為了實(shí)現(xiàn)計(jì)算器,又間接學(xué)會了基本得數(shù)學(xué)庫,textbox, button等控件得用法
這種方法,簡單的講:學(xué)習(xí)了一些積木得用法,就嘗試用這些能搭出不同得東西,在這個(gè)過程中逐漸學(xué)會了其他積木得用法,然后再嘗試搭出更厲害的東西,以此循環(huán)。(思維是正向的,創(chuàng)造性的,過程是短暫的(拆解成了不同的階段),成就感是一直有的,挫敗感是暫時(shí)的)
總結(jié)一下:
編程本質(zhì)是創(chuàng)造,創(chuàng)造本身是令人愉悅的,所以其實(shí)找對方法,學(xué)編程是一件很快樂的事,這一點(diǎn)比其他行業(yè)好很多,比如你學(xué)再難得編程,都比考CPA要爽。
興趣是最好得老師
勤造輪子
------------
想看更多內(nèi)容? 可以關(guān)注我的知乎