這篇文章是寫給那些真心要編程的人看的——那些憋著一股狠勁兒,一定要做出個什么真東西的人;而不是那些“聽說編程好玩”的人。在我看來,這些人都不太可能真的整出個像樣的東西來。
1. “只用晚上、周末的業(yè)余時間學習”很不靠譜
無論從我個人經(jīng)驗,還是眾多訪談的結(jié)論來看,只用晚上和周末等業(yè)余時間來學習編程是十分糟糕的辦法。斷斷續(xù)續(xù)的學習方式,你的腦子根本沒機會養(yǎng)成編程式的思維方式,你很難把之前學習的內(nèi)容撿起來。一定要把你的時間盡量多的利用起來。
一種改善的方法是參加“編程訓練營”之類的項目;你不但要花整整九周時間,還要花費一筆不小的學費。這些付出可以對你有所約束,督促你學到東西。你必須全情投入,否則錢和時間就打水漂了。
2. 忘掉 Codecademy.com
“我用 Codecademy 學會編程了!”
不知道有多少人這么說過了。但是如果持續(xù)的觀察六到八個星期之后,這些人就都歇菜了。
我告訴你們?yōu)槭裁从肅odecademy學習不長久:
你永遠只是在瀏覽器里、在Codecademy網(wǎng)站里編程;學到JavaScript、Python、Ruby的語法是挺好,但是從課程里你也只能學到這些;其實這些你從別處也都能學到。
你不會學到如何搭建開發(fā)環(huán)境。就憑你在Codecademy學到的那點兒東西,哪怕你只想做一丁點兒的小項目,你都不知道該從哪兒開始。
對于只有一點點編程經(jīng)驗的人來說,搭建自己的開發(fā)環(huán)境是很有挑戰(zhàn)性的一件事兒。你需要自己把這件事兒搞定。
3. 做一個真正的、你想做的項目
在你想做的項目里,先找一個小的來做。我做的第一個項目叫做“今日所學”。軟件里只有一個文字輸入框,你每次輸入一些文字,軟件按照時間降序來顯示輸入內(nèi)容的列表。僅此而已。
你的第一個項目一定就是一坨屎。但是它是完整的項目,而且是你完成的。這才是最牛逼的地方。
4. 你的代碼要建立在你之前做過的項目之上
我每天寫代碼,我都會把當天所學的一兩個知識點放進去,這樣我下一次編程時就會寫的更好。你會不斷的從你的代碼庫里引用老代碼,或從網(wǎng)上扒來的代碼。一旦你真的懂了這些代碼,你就能把它們用起來。