? ? ? ?我呢,這個人比較笨隘蝎,學(xué)習(xí)編程是比較慢的那一個。我記得我的第一份程序員的工作是在一家外包公司襟企,上班一個多月之后嘱么,有一天下班,碰巧跟項目經(jīng)理搭同一部電梯顽悼,他對我說:“小偉曼振,看你在介紹項目的時候挺有激情的,要不你轉(zhuǎn)到我們的銷售部吧”蔚龙,其實我們公司一共9人冰评,他負(fù)責(zé)銷售和技術(shù)兩個部門,挺牛逼的一個人木羹。我說:“啥情況甲雅?你是在暗示我的技術(shù)太差了嗎解孙?”,“沒有啊”抛人。接著又說弛姜,“你啊,有時間就好好理解一下面向?qū)ο缶幊贪伞毖叮昂冒伞薄?br>
兩年過去了廷臼,在一個月前,我嘗試學(xué)習(xí)新的編程語言:Swift绝页,一路學(xué)習(xí)荠商,一路驚嘆:“靠!這樣也可以续誉〗崽洌” 一周之后,我感覺:這Swift真是太爽了屈芜,應(yīng)該用它寫個東西玩玩郊愧。
然后就是折騰寫什么呢?最后還是找出井佑,我以前在學(xué)習(xí)javascript的時候属铁,參考別人寫的一個小游戲(微信流行一時的打飛機(jī)),注意了躬翁,別人也是用javascript寫的一個游戲焦蘑,我是參考被人寫的,因為當(dāng)時剛開始接觸編程不久盒发,當(dāng)時真是挺蒙圈的例嘱,做出來之后,還是有點模糊的感覺宁舰,嗯拼卵,我就是這么笨得一個人。但是蛮艰!現(xiàn)在我在用Swift去寫他的時候腋腮,都是在業(yè)余時間寫的,兩三天之后就完成90%壤蚜,跟以前對比是:1.開發(fā)周期縮短了很多即寡,2.編程思想完全不一樣3.寫完后不蒙圈了,4.還優(yōu)化了一些邏輯袜刷。地址:https://github.com/CoderKman/AircraftWar
寫完后聪富,我突然有點驚訝,我的學(xué)習(xí)速度快了很多著蟹,思路也清晰了墩蔓,難道是得到神的眷顧了梢莽?我開始思考,最后钢拧,得出一個結(jié)論:學(xué)習(xí)一門新的技術(shù)的過程大致可以分為兩個階段,第一個階段是:基礎(chǔ)階段炕横,第二個階段是:增長階段源内。就拿我們學(xué)習(xí)IOS開發(fā)來說,在基礎(chǔ)階段呢份殿,我們需要理解一大堆概念和思想膜钓,還要學(xué)習(xí)語法,運(yùn)行原理卿嘲,原理里面又一大堆概念和思想颂斜,特點等。所謂的增長期就是當(dāng)我們完全學(xué)習(xí)了所有的這些“基礎(chǔ)階段”所包括的基本概念和規(guī)律之后拾枣,我們就可以利用這些基礎(chǔ)知識一邊實踐一邊學(xué)習(xí)沃疮,這個時候我們才可以寫出優(yōu)雅的,具有思想的代碼梅肤,這才是一個程序工程師的寶貴之處司蔬。這就是我認(rèn)為的增長期。
其實當(dāng)我們進(jìn)入了增長階段之后姨蝴,我們的學(xué)習(xí)速度是以指數(shù)級增長的俊啼,因為基礎(chǔ)都打好了嘛,一點就明左医,一看就明授帕。可是浮梢,在基礎(chǔ)階段跛十,往往是既痛苦又迷茫的。所以秕硝,分享我的編程之路希望對一部分人有幫助吧偶器。
這兩年前后的對比,就這樣的一個轉(zhuǎn)變缝裤,說明了兩點:
1.學(xué)習(xí)分兩個階段(當(dāng)我把基本知識理解深了之后屏轰,后面的學(xué)習(xí)只需要花很少的時間)
2.編程思想比具體代碼更重要(我只要掌握更好的思想,就能更好的做出我想做得東西憋飞,而用什么工具(編程語言)去做霎苗,并不太重要,對效率的影響并不大)
當(dāng)然榛做,有些朋友可能會說唁盏,搞編程快兩年了内狸,這是理所當(dāng)然的,嗯厘擂,也許吧昆淡。但是我希望的是,剛學(xué)習(xí)編程刽严、或者剛學(xué)習(xí)新技術(shù)的同志們昂灵,能夠多花點時間深入理解這個技術(shù)領(lǐng)域的概念,原則舞萄,思想眨补,還有相關(guān)的設(shè)計,對就是這些虛的東西倒脓,一邊實踐撑螺,一邊學(xué)習(xí),一邊思考崎弃,一邊領(lǐng)會甘晤。這樣子,過一段時間之后饲做,你就會發(fā)現(xiàn)你進(jìn)步得很快安皱。也希望你可以提前踏過基礎(chǔ)階段,把這個階段縮短至一年艇炎、半年酌伊。事實上,有很多程序員三年后缀踪,五年后居砖,十年后,還是沒有進(jìn)入增長期驴娃,也許就是我們還沒理解編程的某一個思想奏候,或者還缺乏某一個設(shè)計模式的知識。