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