不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦>學習方法>通用學習方法>學習經(jīng)驗>

如何才能高效的學習編程語言

時間: 欣怡1112 分享

  編程語言種類繁多,用途各異,然而一旦掌握其中之一,其他的也就迎刃而解。那么如何才能高效的學習編程語言?以下是學習啦小編分享給大家的高效的學習編程語言的方法,希望可以幫到你!

  高效的學習編程語言的方法

  1、確定目標

  Learn a Programming Language Step 1 Version 2.jpg

  學習編程語言既充滿樂趣,又充滿挑戰(zhàn)。有些花費多年時間學習一門編程語言的大學生到最后也無法確定自己的方向到底是什么,所以,在你開始前,最好先想清楚,你是想成為一名程序員,還是游戲開發(fā)者,還是機器人專家?

  2、選擇一種編程語言

  Learn a Programming Language Step 2 Version 2.jpg

  初學者一定要從主流語言開始學習,比如中級語言C和C++。這兩種語言是任何一名合格、專業(yè)的程序員都必須掌握的,因為它們稱得上是軟件開發(fā)界的主流。但是最好不要從高級語言開始學,如Java,因為這些語言對于初學者來說難度未免太高(高級語言可以以后再學,但是C語言和C++應該作為你的基礎)。然而對于完完全全的門外漢的來說,可能C和C++都有點困難,那么你也可以從Python開始學,這種語言被大家廣泛認為是適合初學者的。

  此外,每一種語言都要學習至少一年。要熟悉編程范式,尤其是面向過程及面向對象這兩種;要廣泛閱讀,多用編譯器及IDE(網(wǎng)上有許多免費的)練習編程。

  掌握一種語言后,先不要急著運用,而要去多買些數(shù)據(jù)結構方面的書來看,學習搜索、分類、二叉樹及鏈表創(chuàng)建等概念。因為無論你是要制作游戲還是開發(fā)軟件,數(shù)據(jù)結構都是必須要考慮的。

  隨后,你就可以開始學習更加高難度的語言,如Java。對于進階學習者來說,可能還需要學習分而治之(Devide-and-conquer)、貪婪算法(Greedy Method)及回溯(Backtracking)等計算機算法,這又要花上至少一年的時間。

  3、熱愛數(shù)學

  Learn a Programming Language Step 3 Version 2.jpg

  許多人都由于這樣那樣的原因而對數(shù)學頗不感冒,而作為一名優(yōu)秀的程序員,卻要整天與一籮筐的數(shù)學問題打交道。正如你所見,學編程真的是說起來容易做起來難,而它的難并不在于你對一種語言的了解程度,而在于這種語言牽扯到的數(shù)學問題。編程中的大多數(shù)問題都能在數(shù)學模型(如斐波那契數(shù)列、弗洛伊德算法、傅立葉級數(shù)等等)中找到端倪,更不用說數(shù)學公式在解決編程問題中的廣泛應用了。所以,現(xiàn)在開始,去學習各種公式及其特性吧,還要仔細鉆研算術及微積分,因為不懂數(shù)學,就好比巧婦難為無米之炊。

  4、要保持內(nèi)在的動力

  Learn a Programming Language Step 4 Version 3.jpg

  記住,羅馬建成非一日之功,所以不要在短時間里給自己填壓太多知識。學習編程語言并不容易,因為這是一門需要時常調(diào)用邏輯思維的知識。你要做的,就是理解程序背后的邏輯,然后不斷練習,直到熟能生巧為止。如果你只是死記硬背一些程序,那么你就錯過了學習過程中的樂趣,而且一些概念你也未必真的理解。所以,學習編程需要不斷地挑戰(zhàn)自己,但也不要操之過急。

  5、要有耐心

  Learn a Programming Language Step 5 Version 3.jpg

  有時,即使是卓有成就的程序員也會被簡單的小問題難住,所以,遇到問題時,一定要讓自己放松下來。找張草稿紙,想想有什么現(xiàn)成的公式可用,或者自己想一個公式出來。你看,這就是你為什么要學習數(shù)據(jù)結構和數(shù)學。在成為熟練的程序員以前,一個人往往需要花費大把的時間來構思用于解決特定問題的程序。這一過程中,你可以去Project Euler或者Codecademy這樣的網(wǎng)站上看看,上面有簡單的編程作業(yè)及教程,可以用以練習并提高技能。

  6、絕不輕言放棄

  Learn a Programming Language Step 6 Version 2.jpg

  如果你在編程過程中經(jīng)常粗心犯錯,那么整個過程就會變成一場曠日持久的折磨,然而一旦問題解決,所有的沮喪都會煙消云散。在學習各種算法(傅立葉級數(shù)、向量、邊界問題、線性代數(shù)、矩陣)的同時,也要注意休息。在解決特別復雜的問題時,要按時放松大腦,讓困擾在心頭的難題暫時轉移到潛意識中。另外要有合理的工作計劃,當你編程編到倦怠的時候,就可以小憩一會兒,或者出去散一會兒步,但是永遠不要說放棄。

  高效的學習編程語言的建議

  明確目的,外部模型,內(nèi)部型型

  任何時候你學習使用新工具,明確學習的目的,外部模型和內(nèi)部模型都是十分有用的。

  當你了解了工具的目的時,你的大腦會加載有用的上下文細節(jié),使你更容易吸收新知識。這就好比拼圖:當你看到完整拼圖之后,更容易把各部件拼到一起。這個道理適用于語言本身及及語言庫。

  工具的外部模型就是它呈現(xiàn)出來的接口以及它想讓你思考問題解決的方式。Clojure 的外部模型就是一個Lisp,它想讓你把編程當做大部分以數(shù)據(jù)為中心,不可變的轉換過程。Ansible 希望你把服務器的整備工作想成定義最終狀態(tài),而不是定義抵達那種狀態(tài)所要采取的步驟。

  工具的內(nèi)部模型就是如何將輸入到其接口轉換成一些底層的抽象。Clojure 把 Lisp 轉換成 JVM 的字節(jié)碼。Ansible 把任務定義轉換成了 shell 命令。在一個理想國中,你不需要理解工具的內(nèi)部模型,但事實上,理解內(nèi)部模型總是有用的,因為在某些看上去迷惑或者矛盾的部分它可以讓你有個一致的視圖。舉個例子,當 DNA 雙螺旋模型被發(fā)現(xiàn)的時候,它幫助科學家們了解更高級的現(xiàn)象。從我的角度來講,當然,這篇博文也是歷來所有偉大科學成就之一。

  很多教程經(jīng)?;煜ぞ叩耐獠亢蛢?nèi)部模型,使學習者感到困惑。意識到這點可以幫你輕松辨別何時你會感到沮喪。

  間隔重復幫助記憶

  間隔重復被證明是長期記憶中新信息編碼的最佳方法之一。 這個想法是以不斷增加的時間間隔來測驗自己,以使用最少重復次數(shù)最小化記憶衰減。 衛(wèi)報寫了一篇很好的介紹性文章。

  睡眠和練習

  保重身體!身體可不僅僅是你腦袋的載體。如果你想保持專注和高效的學習,就要足夠的睡眠和練習,而不是(beats the pants off)狂飲咖啡因和能量飲料。

  學習編程語言的誤區(qū)

  誤區(qū)1:啃完幾本書,就能系統(tǒng)的學會編程了

  是什么讓你相信買一本書就能學會編程?是幻覺。

  編程方面的書一般挺厚的,拿在手里,感覺知識沉甸甸的,翻開一看,感覺講的很系統(tǒng)很詳細。你會覺得自己已經(jīng)下定決心要學好編程了。但你絕對不會讀完超過五章的內(nèi)容。

  不是因為你太懶惰,而是因為剛開始學習就深入到細枝末節(jié)中并不是一個好的選擇,練習是學習一門技能最重要的環(huán)節(jié),而如果不上手練習,你會把書里教的知識忘得一干二凈。

  誤區(qū)2:先學別的語言做鋪墊,再學你想學的語言

  總有人會告訴你,「打好基礎很重要,你得先學 C 語言?!?/p>

  或者是,「直接學編程語言太難了,你可以先學 Scratch 培養(yǎng)感覺?!?/p>

  這簡直是人為加長學習路徑。

  誤區(qū)3:看著源碼學編程,對著敲一遍

  這種觀點說,github 上不是有很多好的開源項目嘛,你照著敲一遍代碼,然后就能領悟了。

  這應該是受了應試教育時背課文的迫害吧……對于初學者,這樣學習效率太低了,因為每一行你都看不懂,而且沒有思考的模仿只是機械運動而已,除了提升打字速度應該不會有其他任何效果。

  好了,說了這么多誤區(qū),那么對的是什么呢?如果你學習編程是為了做出點東西出來,而不是為了做科研去研究各種編程語言語法之間的細微差異,那么上手做項目是最快的學習路徑。

  但是,如果沒有選擇正確的學習方法,這其中的痛苦,足以讓一個初學者沒辦法堅持下去。編程是即時反饋的,當你學其他技能,不會有人對著你大喊「你錯了!」,但是程序會向你持續(xù)報錯。而當你嘗試了幾小時,用了各種方法,程序卻在說,「你還是錯的!」,你會很沮喪甚至很憤怒。

  那么,從寫出第一句 hello world,到能上手做一個真實的項目,到底需要怎么學?

  結合了學習的認知模型,我們總結了一套適用于初學者的編程學習方法,也是實戰(zhàn)課程體系的核心思路:

  1、循序漸進:把一個真實項目拆解成若干階段,分階段學習、練習,逐漸提升難度

  2、杠桿知識:學習和項目最相關的核心知識,借用能提升開發(fā)效率的工具框架,讓最少的投入獲得最大的杠桿產(chǎn)出

  3、建立連接:人腦是通過突觸相連接的,學習的過程就是在強化已有的連接,建立新的連接。而根據(jù)已經(jīng)掌握的知識點拓展、用生活中的例子去類比,能讓你更快的學會。

  4、持續(xù)反饋:通過老師或者是搜索,掌握獨立解決排錯的方法,最終掌握自學的方法。

  當然,這些只是很簡要的概述,想要真正應用這套方法去制定自己的學習計劃,需要一個系列連載來詳細介紹具體的執(zhí)行方法才行。掌握這套學習方法之后,你可以根據(jù)自己的情況去選擇適合自己目標的學習材料,從而少走彎路。

猜你喜歡:

1.如何才能快速的學習編程技術

2.c語言學習心得6篇

3.有效學習的十大方法

4.編程語言用什么方法學習

5.設計編程需要什么語言

3749425