如何才能有效的學習程式語言
學習程式語言需要的一種技巧與方法,只有找到了學習方法才能更快速的學習。以下是小編分享給大家的有效的學習程式語言的方法,希望可以幫到你!
有效的學習程式語言的方法一
持續測試自己以抵抗勝任力錯覺
最不濟的學習方法中的一種就是重讀或者重看材料。這種重複會給你一種感覺——似乎不用花什麼氣力,你就理解了話題所涵蓋的內容。研究者們把這種現象稱作勝任力錯覺。
更好的一種方式你可以掌握的最佳技巧之一則是持續地測試自己。不要重讀一個函式、類或者一個物件是什麼,而是讓自己定義這些概念或者把它們用到短小的程式當中——強迫你用某種方式顯示自己的理解。這一過程常常很不舒服的,但是對形成長期記憶非常有效。更進一步,你可以在閱讀材料之前先去行測試,舉個例子,嘗試在閱讀一個章節之前做做練習。值得一提的是,這也被證明有助於記憶的形成。
測試對於學習的顯著影響被稱為測試效用,下面是一些具體方法可以利用:
在閱讀章節或者看視訊之前,嘗試猜測你將要學習的東西,並寫下來。
在閱讀章節之前先做做這個章節的練習題。
一直做練習,即使是最難的那些。暫時永遠放棄一個練習也是可以的,不過至少要嘗試一遍。下個章節會詳細談到
閱讀短小的程式並且嘗試不看原始碼重新寫一個。或者,再小一些,寫個函式也行。
在學習了物件、類、方法或者高階函式等新概念之後,立即編碼做示例。
建立闡述這些概念的圖示,以及這些概念之間的區別和聯絡。
把你剛剛學到的概念寫成部落格。
嘗試把概念解釋給非技術的朋友聽。在寫《Clojure for Brave and True》的時候,我常常這麼幹。這樣能夠以外行的話闡述一個想法,進而迫使你深入理解想法本身。
這些技巧的大部分都要規約到編寫程式碼上!說到程式設計,由於程式都是重文字和概念性的,所以很容易以為我們僅僅通過閱讀程式碼就在學習。但同時它也是一門手藝,就像其它手藝一樣你得操練才能嫻熟。編碼是露露你對程式作有錯誤假設的最佳方式。你越快地這麼做,就會越快地糾正錯誤和提升技能。
如果你想了解更多測試效應的事情,敬請檢視堅持:成功學習的科學make it stick: The Science of Successful Learning。
有效的學習程式語言的方法二
花時間放空自己
如果你糾結在一個問題上,或者對剛才讀到的東西不能理解,就去散散步甚或洗個澡 —— 只要能進入一種舒緩、放空的狀態就行。解除障礙的最佳方式之一就是歇一會兒,這可能聽上去有點反直覺,但確實如此。
問題是,當全神貫注解決問題時,我們很容易陷入思維障礙mental blinder。我的意思是,這差不多就是“關注”字面上的意思。不過,全神貫注會導致我們只能一直探索解決方案空間的一小部分。一旦放空,我們的潛意識就可以探索並聯結我們經驗中的廣泛領域。
對我來說,這就像當你試圖在紙質地圖上找到一個目的地是否還記得嗎?。你不用刻意就確信你想抵達的城市應該就在這裡!在地圖的左上角的區域,所以你一遍又一遍,都沒有成功。然後你放下地圖,做了深呼吸並讓目光遊離了一會兒。當你重新看地圖時,確切的地點立馬映入眼簾。
我們曾經都有過這樣的經驗,在洗澡的時候突發靈感。現在你對於為什麼這麼做有了更好的瞭解,那麼也就能刻意地使用這個技巧。個人來講,如果糾結住某事,我真的會洗個澡,這個技巧的功效顯著,而且我是多麼乾淨注:洗澡這件事。
如果你想多學一些關於思考的關注和分散模式,敬請檢視A Mind for Numbers: How to Excel at Math and Science Even If You FLunked Algebra
有效的學習程式語言的方法三
別浪費時間沮喪
和上一個章節相關:別浪費時間為程式碼沮喪了。沮喪會讓我們做一些愚蠢的事情,比如重新編譯或者重刷瀏覽器,期望這次會有所不同。
把沮喪看作你的知識有差距的訊號。一旦你意識到自己沮喪了,它可以幫你後退一步,清晰地識別問題。如果你寫的程式碼不起作用,坦率地向自己或者別人說明你期望的結果。使用科學的方法,就非預期行為的根因提出一個假說。然後測試你的假說。再次試驗後,如果依然解決不了,就把這個問題放到一邊,待會兒回來。
在一些似乎沒法解決的問題上,我不知有多少次惱怒地扔掉了自己的膝上型電腦。隔天再看,一個顯而易見的解決方案立馬跳入腦海。甚至上週就發生過。
有效的學習程式語言的方法四
確認你正在處理語言的哪個方面
個人觀點,我覺得記住這些是有用的——當學習一門程式語言的時候,你實際上正在學四件事情。
怎麼寫程式碼:語法、語義以及資源管理
語言的正規化:面向物件,函式式,邏輯等
產物的生態圈:如何構建、執行可執行檔案以及如何使用庫
工具:編輯器,編譯器,偵錯程式,程式碼質量檢測器linter
這四項很容易搞混,不幸的結果是,當你遇到問題最終完全找錯了地方。
舉個例子,某些完全的程式設計新手,可能準備開始構建iOS應用。他們可能會試著讓自己的應用執行在朋友的手機上,只能看到有關需要開發人員證書或其他資訊的訊息。這是產物生態圈的一部分,不過小白可能將此視為編寫程式碼的問題。他們可能會瀏覽自己寫的每行程式碼來嘗試解決問題,儘管問題和程式碼沒有半毛錢關係。
如果我係統地處理這些方面,我會發現學習一種語言會更加容易。我將在其它的部落格文章中羅列一些待回答的寬泛問題的列表,應該能幫助你學習任何語言。
1.程式設計基礎學習心得體會
2.c語言學習心得6篇
3.學習程式設計的時間以及方法
4.程式設計師學習工作計劃
5.程式設計師學習心得體會
- 如何才能有效的學習程式語言
- 夏天怎麼樣才能做到清熱解火
- 獅子座怎樣更好交際
- 幼兒園大班家長工作計劃範本
- 最新大學生創業金點子
- 傷心說說致自己
- 秋季益氣養生粥有什麼
- 第一學期七年級數學期中考試題帶答案
- 補腎養生食物
- 鐘錶是誰發明的鐘表的發明歷史
- 如何檢視電腦主機板支援的最大記憶體
- 青春歡快的勵志歌曲排行榜
- 用什麼方法可以治腰疼
- 關於高校圖書館圖書採購質量控制問題的研究論文
- 得了過敏性角膜炎怎麼辦
- 給大學朋友留言的離別說說
- 有關蘭花的隨筆散文推薦
- 格鬥意志心理訓練
- 周世宗柴榮的改革措施介紹
- 人教版三年級語文下冊期末試卷分析
- 康熙字典五行屬金的字
- 康熙字典五行屬木的字
- 康熙字典五行屬水的字
- 康熙字典五行屬火的字
- 康熙字典五行屬土的字