天天看點

為什麼程式設計那麼難?是我腦子不行嗎?

“現在,導航到那個你希望程式在終端中打開的小檔案夾。好的,下面需要在path檔案夾中建立符号連結,但是,在我們建立之前,先使用nano ~/.bash_profile來檢查配置檔案。”

在我的大腦還在全速運轉消化了解這些意思拼湊出連貫的指令之前,講師已經轉移到下一個主題。

“什麼快捷鍵可以再次打開終端?指令和空格鍵——快點在mac電腦上試試。”

咬緊了牙,盡量不去想已經拉下了多少treehouse講師的内容,我開始第八百次手忙腳亂地打開谷歌去查找鍵盤指令。

“我隻是不擅長而已”,我告訴自己, “一定是我的腦子不善于邏輯思維。”
為什麼程式設計那麼難?是我腦子不行嗎?

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

無論是學習線上課程,參與irl,還是同僚和朋友教我程式設計概念,這樣的場景對于我而言并不罕見。最後總是以愚蠢,沮喪和惱怒的感覺告終,浪費了他們寶貴的時間來幫助我這根“不可雕的朽木”。

大多數會話都會在我鼓睛暴眼不能自抑地想要脫口而出說“我再也不幹了”,卻又被我硬生生地咽回喉嚨中之前,突然結束。可悲的是,大多數時候我離完成子產品,離讓app工作,離突破其實已經隻剩幾個階段了——但為時已晚。損害已經造成。

是以,我一直在想,這是為什麼呢?為什麼學習程式設計會這麼難?

我覺得這不是一個直接性的問題,沒有直截了當的答案,但對于我自己為什麼不能将編碼當作一個簡單的技巧來擷取,我有一些自己的見解。我也在twitter社群上征求别人的看法,并得到了熱烈的響應:

——hilary rose(@hilary_cook)2015年7月16日

是以,結合這些智慧的精華,我總結出為什麼我會覺得程式設計如此之難的要點:

那種“這麼簡單——我無法想象你居然不知道”的态度

你正在思考一些你百思而不得其解的問題——數學公式,程式設計問題,外語文法,東南亞的政治制度……

然後一些自以為聰明絕頂的家夥出現了,鄙夷地看着你,打斷你的沉思,大呼小叫:

“哦,這太簡單了”

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

甚至可能更糟:

“我無法想象你居然不知道html中的圖形元素——當然,并不是說html就是真正的程式設計語言”

嚴肅說來,html是否被認為是“真正”的程式設計語言并不重要——它依然是一種需要學習的新技能。嘗試新的東西是非常可怕的。你需要在處于這種未知的弱勢地位時也敢于勇往直前,而且失敗和不确定也沒有關系—— 事實上,它們都是成功的重要組成部分。

那麼如何處理高科技産業中的“我無法想象你居然不知道”這種态度?要想确切地掌握程式設計語言的每一個特質是不可能的——它們是野性難馴的猛獸。是以他們憑什麼像這樣貶低人呢?也許他們隻是害怕會被我們發現他們也有不知道的東西。

萬事開頭難,這是很正常的。正如《jake the dog》說過的這樣一句話,“吸取知識是擅長它的第一步驟”。非常正确。

為什麼程式設計那麼難?是我腦子不行嗎?

“左腦和右腦”的争執

當遇到解決不了數學和程式設計問題時,我最喜歡使用的借口是:

“我之是以不明白這一點,是因為我有一個創造性的大腦。而程式設計是邏輯性的,我的大腦隻是不習慣這種思維方式”

我深信,我擅長寫作和繪畫,是因為我是一個創造性的左腦思考者,至于我總是苦苦掙紮于數學和程式設計類學科,則是因為它們主要是右腦活動——然而現在卻有大量的證據表明,這是一種已經過時的思考方法。

是以,會不會就是因為我認為自己更善于創造性的事情,才會導緻我願意多多地練習,進而變得擅長的呢?俗話說得好:“無論你認為自己能做到,還是認為自己做不到…..就要看你怎麼暗示自己了”。

程式設計就是難

“不要相信任何人 關于學習代碼很容易的謊話”

最近很多文章都在鼓吹關于“任何人都可以學習代碼”的“奇思妙想”,進而鼓勵更多的人加入這個從前看似遙不可及的行業,但是如果你堅持認為程式設計是一種易于學習的簡單技能,那可能就會南轅北轍。

正如kate ray在她的文章所說的那樣,“作為一個程式員,需要學習的東西是無限的”——并且一種不能滿足的持久遺憾感,即使是該領域的專家也時常會有。

不過,對于那些剛剛起步的新手而言,還是有好消息的,那就是雖然需要學的東西很多,學習中也會遇到各種挑戰,但是,你可以——一步一步來。不要試圖一下子掌握所有内容,設定那種如’我要學習如何編寫代碼’這種不明确的目标——目标應該更具體,并将任務分解成更小的任務。

是以與其難過自己還是無法了解javascript——還不如,先将學習的重點放在關于如何讓我的靜态部落格變得互動起來的具體内容上。然後再到下一個步驟。雖然一開始會很糟,但我依然相信功夫不負有心人,good luck。

作者:小峰

來源:51cto

繼續閱讀