屢戰(zhàn)屢敗:為什么你會覺得學習編程很難?
本文轉(zhuǎn)載自公眾號“讀芯術”(ID:AI_Discovery)
你花了無數(shù)的時間在YouTube上看教程,參加付費在線課程,閱讀編程入門文章。然而,一直存在一個無法從根本上突破的屏障。
總是有人在那里寫你不懂的復雜代碼,解決復雜的編程問題。“我永遠不會像他們一樣,”你這樣想著,并對他們肅然起敬,“他們是怎么學會的?”事實上,他們肯定不是天生就知道如何編碼,也不是他們比你更聰明。本文中將詳細介紹克服編程恐懼的步驟。
如果你想進入一個需要編程知識的領域(比如數(shù)據(jù)科學或軟件開發(fā)),那么克服這種恐懼對你來說是非常重要的。編碼焦慮會讓你在未來幾年里無法取得進步,但它卻很少被重視。
背景—我的經(jīng)歷
我是個優(yōu)等生。我為自己解決問題的能力而自豪,我喜歡數(shù)學和科學等學科。我學得很快,幾乎不犯錯誤。然而,當我高中畢業(yè)后,情況發(fā)生了變化。
編程和高中課堂上教的科目不一樣,唯一的學習途徑就是犯錯誤。作為一個不習慣這樣做的人,我很驚訝自己花了這么長時間才學會如何編寫代碼。
我犯了太多的錯誤。突然,我不再事事都能做到最好了。我在看似簡單的任務上苦苦掙扎——甚至只是設置編程環(huán)境。我開始覺得我不適合編程。
每個人似乎都比我更擅長。我甚至不能在互聯(lián)網(wǎng)上編譯沒有錯誤的代碼,更不用說理解它或編寫自己的程序了。這使我很有挫敗感,我放棄了。而且不止一次。我試著學習如何編碼,并且用不同的編程語言在線學習了10多次。每次我都覺得自己不夠好,就放棄了。
我面臨的問題不是缺乏信心。恰恰相反,我太自信了。我非常自信,所以當事情沒有按我所希望的方式發(fā)生時,我就會感到沮喪并放棄了。
我最大的錯誤是什么?認為編程是可以在短時間內(nèi)學會的東西,而不承認有學習曲線。如果我理解并接受從零開始學習代碼是一件需要努力和耐心的事情,我就可以少受很多挫折和節(jié)省很多時間。
當我放棄學習代碼的時候,我認為世界上有兩種人——一種是天生適合編程的人,另一種不是。事實證明,我是對的。然而,那些天生擅長編程的人并不一定比你聰明。他們只是有一種特定的心態(tài),一種幫助他們在這個領域出類拔萃的心態(tài)。擁有同樣的心態(tài),你將實現(xiàn)目標。
如何成為一名好的程序員
首先,你需要承認自己并不擅長編程。
你已經(jīng)參加了一兩個在線課程,并學習一些編程教程。但是你還不擅長。有些人把他們的一生都奉獻給了這個領域,而你才剛剛開始。
記住,下一次當你看到一堆無法理解的復雜代碼時,不要被別人解決問題的能力所擊敗,也不要被你可能永遠無法達到的目標的所擊敗,想想他們?yōu)榱诉_到自己的水平所花費的時間和精力。
如果你想趕上至少他們一半的優(yōu)秀,只需要付出更多的努力。這不是比賽。僅僅因為他們成功地解決了一個你無法解決的復雜問題而已,并不意味著他們比你聰明。他們比你投入了更多的時間和精力。為了實現(xiàn)目標,你也需要這樣做。
學會有耐心
耐心可以說是程序員最重要的性格特征之一。你需要有盯著電腦屏幕看上幾個小時的耐心。一個看似簡單的問題可能需要數(shù)小時,甚至數(shù)天才能解決,你只能坐下來花幾個小時調(diào)試代碼來學習。
培養(yǎng)這種耐心真的很難。如果你和我一樣,很容易感到無聊或者注意力持續(xù)時間很短,你需要花很多時間訓練自己變得有耐心。
當你開始了解盯著電腦屏幕花幾個小時解決問題的這門藝術,你就離成為一名優(yōu)秀程序員的目標更近了。
頑強
還記得你小時候,父母不給你買想要的玩具嗎?你吵了好幾個小時,哭了好幾個小時。你拒絕和他們一起離開商店直到他們給你買為止,還引起了一場鬧劇。最后,你父母讓步了。他們放棄了,給你買了玩具。
這正是你學習編碼時需要的那種固執(zhí)。每當你為不知道如何繼續(xù)操作或者一堆代碼無法運行而感到沮喪時,不要放棄。
堅持下去,表現(xiàn)出你小時候的決心。如果你至少有你童年那時候一半的決心,那么你會成功完成你的目標。
恰到好處的自信
過分自信是不好的。過分自信會阻礙你取得進步,因為你對自己期望過高。有些人在這方面比你強得多。當你看著這些人讀他們的代碼時,自然會感到無能。
取得任何進展的第一步是承認別人比你更好。他們當然是。他們花了比你更多的時間,并且花了數(shù)年時間學習如何編寫代碼。如果你想變得更好,你也需要投入時間和精力。
事實上,即使是經(jīng)驗豐富的程序員也知道他們并不擅長編碼。承認還有很多東西要學的能力是每個程序員最重要的特質(zhì)之一。你不可能了解這個領域所包含的一切。
學習編碼需要很多努力。你需要有正確的態(tài)度,養(yǎng)成良好的習慣。你養(yǎng)成的這些習慣將使你在職業(yè)生涯中走得更遠——不僅僅是智力、能力或記憶力。為了克服對編程的恐懼,你需要明白有一條學習曲線。
把編程想象成一輛自行車。你學騎自行車的時候會跌倒很多次,但那是唯一的學習方法。隨著時間的推移,你會掌握竅門,變得越來越好。你只要有足夠的耐心和毅力,每次跌倒后都能站起來繼續(xù)。
希望本文能幫你克服對學習代碼產(chǎn)生的焦慮。