我學(xué)編程時(shí)犯的最大兩個(gè)錯(cuò)誤
一年前我大學(xué)畢業(yè),剛剛步入社會(huì)。我很很多很多創(chuàng)業(yè)計(jì)劃,我想去實(shí)現(xiàn)它們。但是,我不會(huì)編程。
聽(tīng)取了 Yipit 的創(chuàng)始人Vin Vacanti 的建議后,我開(kāi)始自學(xué)編程。
最終我是學(xué)會(huì)了開(kāi)發(fā)自己的原型,但道路很崎嶇。如果你也跟我一樣走在自學(xué)的道路上,我希望你能避免我犯過(guò)的錯(cuò)誤。
錯(cuò)誤 #1: 我花了大量的時(shí)間去學(xué)習(xí)我實(shí)際上并不需要的東西。
我不知道如何開(kāi)始。有這么多可以學(xué)習(xí)的東西,有這么多的討論和這么多相互否定的觀點(diǎn),讓我不知道什么才是最重要的技術(shù)。經(jīng)過(guò)一段時(shí)間浸泡在Hacker News,Quora, 和 StackOverflow上,以及其它一些偶然在某些文章里發(fā)現(xiàn)的詞語(yǔ),我拼湊了一個(gè)令人膽戰(zhàn)的大雜燴式的清單:
- HTML, CSS, AJAX, PHP,
- Javascript, Heroku, Celery, SQL, jQuery, Django, POSTGRES, nodeJS,
- BackboneJS, Ruby, Rails, MongoDB, Python
我不知道哪種技術(shù)我需要,哪種我不需要,于是我計(jì)劃把它們?nèi)珜W(xué)了。
我實(shí)際應(yīng)該的做法: 我應(yīng)該壓縮這個(gè)清單,只學(xué)習(xí)一些制作原型需要的技術(shù)。
最終,我能清楚了這個(gè)清單里的東西都是用來(lái)干嘛的,并把它壓縮為:
- HTML: 制作網(wǎng)頁(yè)內(nèi)容結(jié)構(gòu)(例如,這是個(gè)鏈接,那是個(gè)標(biāo)題)。
- CSS: 制作內(nèi)容的樣式風(fēng)格。
- Javascript: 使內(nèi)容動(dòng)態(tài)化(例如,當(dāng)點(diǎn)擊一個(gè)鏈接時(shí)彈出一個(gè)對(duì)話框).
- jQuery: 一個(gè)Javascript工具庫(kù),很好用的插件(例如,做幻燈片)。
- Python: 處理數(shù)據(jù) (例如,從數(shù)據(jù)庫(kù)中取出用戶購(gòu)買(mǎi)的歷史記錄,推薦他們喜歡的產(chǎn)品)。
- Django:一個(gè)Python寫(xiě)的web框架,用來(lái)連接上面說(shuō)的這些東西,它內(nèi)置了很多非常有用的功能(例如,一個(gè)現(xiàn)成的登錄系統(tǒng)和一個(gè)用Python訪問(wèn)各種數(shù)據(jù)庫(kù)的簡(jiǎn)單接口)。使用框架,它能讓工作變得簡(jiǎn)單!
錯(cuò)誤 #2: 我沒(méi)有直接開(kāi)始編程。
我花了大量的時(shí)間閱讀書(shū)籍。我不知道我讀的這些書(shū)是否真的對(duì)我要做的事情有用。更糟糕的,我沒(méi)有把讀到的東西應(yīng)用到實(shí)際工作中,很多東西都沒(méi)記住。
我實(shí)際應(yīng)該的做法: 從一開(kāi)始我就應(yīng)該利用一些小項(xiàng)目邊做邊學(xué)。
后來(lái)我發(fā)現(xiàn)了一個(gè)超級(jí)有效的學(xué)習(xí)制作原型知識(shí)的方法:
- 動(dòng)手跟著教程做一些編碼例子。David Sinsky,Yipit 公司的一個(gè)程序員,他給出了一些絕好的建議。
- 找一個(gè)簡(jiǎn)單的項(xiàng)目,開(kāi)發(fā)它。比如制作一個(gè)簡(jiǎn)單的博客系統(tǒng)或投票應(yīng)用。
- 反復(fù)執(zhí)行第#2條多次。
- 開(kāi)發(fā)出自己的應(yīng)用。
無(wú)需準(zhǔn)備,直接動(dòng)手,這能給你帶來(lái)很多好處。你能克服掉很多害怕編程的心理。你能馬上能看到你勞動(dòng)的成果。最重要的,你能迅速的學(xué)會(huì)開(kāi)發(fā)你的應(yīng)用需要的技術(shù)。
英文原文:The 2 Biggest Mistakes I Made When Learning to Code
譯文鏈接:http://www.aqee.net/the-2-biggest-mistakes-i-made-when-learning-to-code/