电竞比分网-中国电竞赛事及体育赛事平台

分享

編程到底難不難

 羅134 2015-08-07

“現(xiàn)在,導(dǎo)航到那個你希望程序在終端中打開的小文件夾。好的,下面需要在PATH文件夾中創(chuàng)建符號鏈接,但是,在我們創(chuàng)建之前,先使用nano ~/.bash_profile來檢查配置文件。”

在我的大腦還在全速運(yùn)轉(zhuǎn)消化理解這些意思拼湊出連貫的指令之前,講師已經(jīng)轉(zhuǎn)移到下一個主題。

“什么快捷鍵可以再次打開終端?命令和空格鍵——快點(diǎn)在Mac電腦上試試?!?/p>

咬緊了牙,盡量不去想已經(jīng)拉下了多少Treehouse講師的內(nèi)容,我開始第八百次手忙腳亂地打開谷歌去查找鍵盤命令。

“我只是不擅長而已”,我告訴自己, “一定是我的腦子不善于邏輯思維?!?/p>

這本來只是一個入門教程——為什么我會覺得這么難?

無論是學(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):

寫過一篇文章@raygunio關(guān)于為什么“學(xué)習(xí)代碼”會這么難。為什么有時候你會認(rèn)為這是一個如此艱巨的挑戰(zhàn)?
——Hilary Rose(@hilary_cook)2015年7月16日

所以,結(jié)合這些智慧的精華,我總結(jié)出為什么我會覺得編程如此之難的要點(diǎn):

那種“這么簡單——我無法想象你居然不知道”的態(tài)度

你正在思考一些你百思而不得其解的問題——數(shù)學(xué)公式,編程問題,外語語法,東南亞的政治制度……

然后一些自以為聰明絕頂?shù)募一锍霈F(xiàn)了,鄙夷地看著你,打斷你的沉思,大呼小叫:

“哦,這太簡單了”

呵呵。這樣一來,心情就完全不同了。你必須努力理解手頭所謂“簡單”的工作——人人都這么認(rèn)為,除了你。

甚至可能更糟:

“我無法想象你居然不知道HTML中的圖形元素——當(dāng)然,并不是說HTML就是真正的編程語言”

嚴(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é)和編程問題時,我最喜歡使用的借口是:

“我之所以不明白這一點(diǎn),是因?yàn)槲矣幸粋€創(chuàng)造性的大腦。而編程是邏輯性的,我的大腦只是不習(xí)慣這種思維方式”

我深信,我擅長寫作和繪畫,是因?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í)代碼很容易的謊話”

最近很多文章都在鼓吹關(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。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多