“現(xiàn)在,導(dǎo)航到那個(gè)你希望程序在終端中打開(kāi)的小文件夾。好的,下面需要在PATH文件夾中創(chuàng)建符號(hào)鏈接,但是,在我們創(chuàng)建之前,先使用nano ~/.bash_profile來(lái)檢查配置文件?!?/p>
在我的大腦還在全速運(yùn)轉(zhuǎn)消化理解這些意思拼湊出連貫的指令之前,講師已經(jīng)轉(zhuǎn)移到下一個(gè)主題。
“什么快捷鍵可以再次打開(kāi)終端?命令和空格鍵——快點(diǎn)在Mac電腦上試試?!?/p>
咬緊了牙,盡量不去想已經(jīng)拉下了多少Treehouse講師的內(nèi)容,我開(kāi)始第八百次手忙腳亂地打開(kāi)谷歌去查找鍵盤(pán)命令。
“我只是不擅長(zhǎng)而已”,我告訴自己, “一定是我的腦子不善于邏輯思維。”
無(wú)論是學(xué)習(xí)在線課程,參與IRL,還是同事和朋友教我編程概念,這樣的場(chǎng)景對(duì)于我而言并不罕見(jiàn)。最后總是以愚蠢,沮喪和惱怒的感覺(jué)告終,浪費(fèi)了他們寶貴的時(shí)間來(lái)幫助我這根“不可雕的朽木”。
大多數(shù)會(huì)話都會(huì)在我鼓睛暴眼不能自抑地想要脫口而出說(shuō)“我再也不干了”,卻又被我硬生生地咽回喉嚨中之前,突然結(jié)束。可悲的是,大多數(shù)時(shí)候我離完成模塊,離讓app工作,離突破其實(shí)已經(jīng)只剩幾個(gè)階段了——但為時(shí)已晚。損害已經(jīng)造成。
所以,我一直在想,這是為什么呢?為什么學(xué)習(xí)編程會(huì)這么難?
我覺(jué)得這不是一個(gè)直接性的問(wèn)題,沒(méi)有直截了當(dāng)?shù)拇鸢?,但?duì)于我自己為什么不能將編碼當(dāng)作一個(gè)簡(jiǎn)單的技巧來(lái)獲取,我有一些自己的見(jiàn)解。我也在Twitter社區(qū)上征求別人的看法,并得到了熱烈的響應(yīng):
寫(xiě)過(guò)一篇文章@raygunio關(guān)于為什么“學(xué)習(xí)代碼”會(huì)這么難。為什么有時(shí)候你會(huì)認(rèn)為這是一個(gè)如此艱巨的挑戰(zhàn)?
——Hilary Rose(@hilary_cook)2015年7月16日
所以,結(jié)合這些智慧的精華,我總結(jié)出為什么我會(huì)覺(jué)得編程如此之難的要點(diǎn):
你正在思考一些你百思而不得其解的問(wèn)題——數(shù)學(xué)公式,編程問(wèn)題,外語(yǔ)語(yǔ)法,東南亞的政治制度……
然后一些自以為聰明絕頂?shù)募一锍霈F(xiàn)了,鄙夷地看著你,打斷你的沉思,大呼小叫:
“哦,這太簡(jiǎn)單了”
呵呵。這樣一來(lái),心情就完全不同了。你必須努力理解手頭所謂“簡(jiǎn)單”的工作——人人都這么認(rèn)為,除了你。
甚至可能更糟:
“我無(wú)法想象你居然不知道HTML中的圖形元素——當(dāng)然,并不是說(shuō)HTML就是真正的編程語(yǔ)言”
嚴(yán)肅說(shuō)來(lái),HTML是否被認(rèn)為是“真正”的編程語(yǔ)言并不重要——它依然是一種需要學(xué)習(xí)的新技能。嘗試新的東西是非常可怕的。你需要在處于這種未知的弱勢(shì)地位時(shí)也敢于勇往直前,而且失敗和不確定也沒(méi)有關(guān)系—— 事實(shí)上,它們都是成功的重要組成部分。
那么如何處理高科技產(chǎn)業(yè)中的“我無(wú)法想象你居然不知道”這種態(tài)度?要想確切地掌握編程語(yǔ)言的每一個(gè)特質(zhì)是不可能的——它們是野性難馴的猛獸。所以他們憑什么像這樣貶低人呢?也許他們只是害怕會(huì)被我們發(fā)現(xiàn)他們也有不知道的東西。
萬(wàn)事開(kāi)頭難,這是很正常的。正如《Jake the Dog》說(shuō)過(guò)的這樣一句話,“吸取知識(shí)是擅長(zhǎng)它的第一步驟”。非常正確。
當(dāng)遇到解決不了數(shù)學(xué)和編程問(wèn)題時(shí),我最喜歡使用的借口是:
“我之所以不明白這一點(diǎn),是因?yàn)槲矣幸粋€(gè)創(chuàng)造性的大腦。而編程是邏輯性的,我的大腦只是不習(xí)慣這種思維方式”
我深信,我擅長(zhǎng)寫(xiě)作和繪畫(huà),是因?yàn)槲沂且粋€(gè)創(chuàng)造性的左腦思考者,至于我總是苦苦掙扎于數(shù)學(xué)和編程類學(xué)科,則是因?yàn)樗鼈冎饕怯夷X活動(dòng)——然而現(xiàn)在卻有大量的證據(jù)表明,這是一種已經(jīng)過(guò)時(shí)的思考方法。
Belle Beth Cooper在《揭穿關(guān)于程序員大腦的謬論》一文中,通過(guò)調(diào)查這些關(guān)于程序員的頭腦如何工作的常見(jiàn)謬論,指出:“我們大腦的兩個(gè)半球有著千絲萬(wàn)縷的聯(lián)系。雙方是相互依存的,大多數(shù)思維過(guò)程都需要兩者的參與”。
所以,會(huì)不會(huì)就是因?yàn)槲艺J(rèn)為自己更善于創(chuàng)造性的事情,才會(huì)導(dǎo)致我愿意多多地練習(xí),從而變得擅長(zhǎng)的呢?俗話說(shuō)得好:“無(wú)論你認(rèn)為自己能做到,還是認(rèn)為自己做不到…..就要看你怎么暗示自己了”。
“不要相信任何人 關(guān)于學(xué)習(xí)代碼很容易的謊話”
最近很多文章都在鼓吹關(guān)于“任何人都可以學(xué)習(xí)代碼”的“奇思妙想”,從而鼓勵(lì)更多的人加入這個(gè)從前看似遙不可及的行業(yè),但是如果你堅(jiān)持認(rèn)為編程是一種易于學(xué)習(xí)的簡(jiǎn)單技能,那可能就會(huì)南轅北轍。
正如Kate Ray在她的文章所說(shuō)的那樣,“作為一個(gè)程序員,需要學(xué)習(xí)的東西是無(wú)限的”——并且一種不能滿足的持久遺憾感,即使是該領(lǐng)域的專家也時(shí)常會(huì)有。
不過(guò),對(duì)于那些剛剛起步的新手而言,還是有好消息的,那就是雖然需要學(xué)的東西很多,學(xué)習(xí)中也會(huì)遇到各種挑戰(zhàn),但是,你可以——一步一步來(lái)。不要試圖一下子掌握所有內(nèi)容,設(shè)定那種如’我要學(xué)習(xí)如何編寫(xiě)代碼’這種不明確的目標(biāo)——目標(biāo)應(yīng)該更具體,并將任務(wù)分解成更小的任務(wù)。
所以與其難過(guò)自己還是無(wú)法理解JavaScript——還不如,先將學(xué)習(xí)的重點(diǎn)放在關(guān)于如何讓我的靜態(tài)博客變得互動(dòng)起來(lái)的具體內(nèi)容上。然后再到下一個(gè)步驟。雖然一開(kāi)始會(huì)很糟,但我依然相信功夫不負(fù)有心人,good luck。
聯(lián)系客服