學習程式設計的七個階段
第1階段:機會
你很開心,你一直想學這個新的內容,比如說某程式語言,無論是規劃還是環境所迫,總之你終於有這個機會學習了。
第2階段:沒有根據地樂觀
谷歌搜尋——挑選一兩個自己感興趣的教程,買資料和書,然後開始MOOC(大規模線上開放教程)。教程很有趣,甚至還有線上REPL,可以讓你玩耍,你覺得你正在進步中。當然也有煩惱——手指還不熟練,但你堅持,不肯放棄,並準備向你的第一個專案進軍。
第3階段:絕望的深坑
你開始從“Hello, World”延伸開去,例如,先是將內容更改為“Hola,Mundo”這樣小心翼翼的嘗試,然後膽子稍微肥了點,開始肆無忌憚了——於是乎,錯誤資訊,堆疊跟蹤,隨機行為紛至沓來。即使不管所有的錯誤資訊,那些能在教程中正常工作的程式碼,也許你親自操刀的結果卻是一片空白。你恍然發現,哪怕是一些看上去愚蠢但良性的細微差別,也會造成狂風暴雨,讓你陰溝裡翻船,陷入絕望的深坑。即使是最簡單的任務都讓你痛苦不已,你開始懷疑自己,懷疑自己其實壓根就沒有程式設計的天分。
第4階段:放低身段
慢慢地,通過試驗和錯誤的洗禮,通過向同事、StackOverflow、部落格尋求幫助,你開始一點一滴地積累知識。你開始懂得如何顯示資料,如何與資料庫進行交流,如何建立介面,如何覆蓋方法。雖然你還並不能真正理解上述任何一個的工作原理,但是在不斷掌握這些神奇的咒語,擴充知識領域的同時,完成一些特定的、必要的任務漸漸變得不在話下。對於有的咒語,你可能會用得非常順手,甚至在一些有問題的情況下也生搬硬套,覺得只要完成就好,哪怕內心明白自己這樣做並不對。除錯是一種挫折鍛鍊。無論是因為自我覺得目標已經實現,計劃將時間放到其他地方,還是因為太難因此望而怯步,亦或是自詡已經掌握了專業知識從而做出了自認為理智的選擇,總而言之很多人止步於這一階段。
第5階段:黎明的到來
到了這一階段,由於你已經積蓄了足夠多的資訊片段,於是開始能夠找到它們之間的連線。你開始能夠靈活應用知識,而不是像之前那樣生搬硬套。你對一些基本規則開始有所謂的直覺,開始從死板地遵守向接收知識轉變。這也是一個不均衡的過程——對這方面心意相通的同時可能仍然困惑於另一方面——但是你有信心一步一步地拿下,你開始享受這個過程。
第6階段:專業
一段時間以後,你完全掌握了基本模式,開始覺得程式設計就像吃飯那樣輕鬆自然。你已經可以直觀地瞭解事物的工作原理,並且在架構、編碼和除錯之間輕鬆斡旋。一般說來你已經不必刻意地去思考問題,就像你從家裡到商店去買東西——你知道怎麼走,如果有一些新造的道路,你也能瞬間權衡不同的選項,並選出一條最佳的路線。此時,碰到問題最難的應該是問題本身,而不是作業系統來支援你想要它做什麼事情。
第7階段:成就
你現在已經是一個有著多年經驗的專家了。你投入的時間和精力通通有了回報。你寫部落格文章,助力開源專案,成為了同行中公認的專家。這儼然成為你的身份和榮譽,也成為了你的枷鎖,你的所作所為需要匹配專家這個名頭。突然有一天,新生事物出現了。你內心也明白,這個新事物很好,將會很有用,能幫助輕鬆解決現有工具不足以解決的問題,將會是未來的潮流。但與此同時,你清楚地知道成為專家所需要付出的努力和時間,需要再次感受不足和挫折,需要去向他人求助等等,你不願意了,你退縮了。你寧願閉上眼睛,墨守陳規,將自己蜷縮成一團,就好像枯萎的枝幹慢慢死去。
譯文連結:http://www.codeceo.com/article/7-steps-learning-programming.html 英文原文:Seven stages of learning 翻譯作者:碼農網 – 小峰
相關文章
- 大神的分享:Java程式設計師的學習生涯中各個階段的建議Java程式設計師
- 程式設計師成長的10個階段程式設計師
- 類載入的七個階段
- 高效程式設計師的七個習慣程式設計師
- 程式設計師不能一直停留在愛學習的階段程式設計師
- 細說高階程式設計師的幾個成長階段程式設計師
- 跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第四階段)Java程式設計師
- 跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第五階段)Java程式設計師
- 跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第六階段)Java程式設計師
- 程式設計能力七段論程式設計
- C語言學習的幾個階段C語言
- 程式設計師成長曆程的四個階段程式設計師
- 初學Java的5個階段,你在哪個階段?Java
- 一個程式設計師的成長的六個階段(轉帖)程式設計師
- SAP學習 看看你在哪個階段
- 漫畫:程式設計師做專案的11個階段程式設計師
- 深度學習在人工智慧領域的七大階段深度學習人工智慧
- 高效能程式設計師的七個習慣程式設計師
- Java 學習路線之四個階段Java
- linux學習的基本分為三個階段Linux
- Javascript高階程式設計 學習筆記JavaScript程式設計筆記
- spark學習筆記--進階程式設計Spark筆記程式設計
- Python學習的十個階段,學完神功大成,對應一下看看你自己在哪個階段Python
- 程式設計師到高階架構師,必須經歷的三個階段!程式設計師架構
- 好程式設計師大資料學習路線分享Hadoop階段的高可用配置程式設計師大資料Hadoop
- 暑期java(物件導向設計)學習第一階段總結Java物件
- 機器學習入門階段程式設計師易犯的5個錯誤機器學習程式設計師
- 程式設計師成長道路上必經的幾個階段程式設計師
- 趣圖展現程式設計師職業生涯的11個階段程式設計師
- 學習java的路線圖-五個必經階段Java
- 資料庫設計的 6 個階段詳解資料庫
- python的學習(七)----多執行緒程式設計(1)Python執行緒程式設計
- 高效程式設計師應該養成的七個習慣程式設計師
- Java學習第一階段Java
- 大資料的系統學習:大資料學習的三個階段概述大資料
- Java初階段學習的複習總結Java
- 程式設計師學習程式設計需要攻克的8個障礙程式設計師
- Go語言學習的五個進化階段(帶例子)Go