如何自學一門新的語言:由學習C++想到的

熊貓夜未眠發表於2011-09-21

原文連結:enter link description here 作者:ithzhang

 

       上半年學了C++.平時我把大部分時間都用在了它上面。除了C++大學教程那本書外我還看了C++ primer。三個月的時間我把它們都看完了。期間做了大量的筆記,每遇到一個疑問我都會在書上標示出來,註明日期。等以後明白了再來回答。自我感覺基礎知識還是掌握的挺好的。基本上沒有什麼知識點遺漏。但是與我付出的時間精力相比我想收獲還是有一定差距的。這引發了我一個思考:對於初學者,如何自學一門新的語言,才能保證花最少的時間獲得最大的效果?

       C++大學教程這本書很不錯,介紹的很詳細,使用了大量的篇幅引出本節的知識點。C++ primer 根是經典中的經典但是由於知識點太詳細涉及到很多的細節。因此對於初學者來說存在一定的難度。所以對於初學者來說選擇一本好的入門書籍很重要。我認為“好”,有以下幾方面的含義,首先,語言簡潔、易於理解。這是第一點,也是最基本的一點。我們無法在一本連基本的語言語句都不通順的書上花費時間和精力。第二點,內容有條理,循序漸進。第三點,涉及語言的主要特性,不過分強調細節。這也是我認為C++ primer 不太適合初學者的原因。太多的語言細節很容易讓初學者被眾多的語言細節所拖累,無法很好的去理解語言的特性,結果就會出現看了很長時間卻不知道書上到底在說什麼的情況。好像什麼都是重點,又好像什麼都不是。另外對於初學者來說選擇一門入門的書就行了,不要同時去看兩本書,每本書都有自己的結構、層次,思想。。。與其同時看多本書不如靜下心來仔細研究其中的一本。至於那一本則可參照以上幾條做出選擇。

 

       選擇了一本好書,接下來就是學習方法的問題了。對於初學者來說,由於是剛剛入門沒有對所學知識有一個全域性的把握,很容易陷入雲裡霧裡的情況。一個好的方法就是不要太過注重於語言細節,語言就像一本大樹。為了對這棵樹有一個全域性的把握,我們應該把這棵樹的整體情況有一個總的認識,而不應該在樹葉上花費太多精力,繁多的樹葉瑣碎的知識點很容易讓人困惑,時間長了就會喪失對語言的學習興趣。對於語言的認識,與你所處於的高度有很大的關係。初學就像是盲人摸象,讓人遐想的空間很大,只知道有這麼個東西但具體怎麼用卻全然不知。等你知道這原來是一頭大象之後,再去摸腿的時候你就知道,哦,原來是條腿不是柱子啊!!當然理解起來也更容易。而你認識到他是大象的過程就是對語言有一個全域性把握的過程。也就是說你對語言的認識是站在另外一個高度。這也是為什麼我多次強調從全域性出發的原因。

          自學一門語言是困難的,剛開始可能豪情萬丈,但是隨著學習的深入知識點會越來越難,慢慢的越來越看不懂的時候就會出現厭學的情況。毅力好的可能會堅持下來毅力稍微差點的估計有放棄了。一段時間以後等想起來了又拿起來。迴圈幾次能把書看完就已經很不錯了。如何一次能堅持學下去,這是我們討論的問題。我想學習過程中遇到困難是必然的。尤其是剛開始看的時候。以我的經驗,一章內容,在閱讀次數少於三次的情況下很難對內容有很好的理解。我所說的閱讀是精讀,逐字逐句,不漏過任何一個知識點。在這裡向大家推薦我的一種學習方法,將遇到的每一個問題標記出來,註明日期。這問題也可以是自己突發奇想說,這樣可以,如果那樣的話可不可以呢。即使是非常小的問題都要標出。等自己看過覺得明白了再回來回答,並註明回答的日期。事實證明這種方法是很有效的,使我不會漏過任何一個知識點。剛開始第一遍看完不知所云,然後再看第二遍,稍微理解了一點兒。等第三遍的時候前邊遇到的問題大部分都可以解答了。至於沒有解決的也不用管他,隨著學習的深入,等下再次來看的時候估計就有了答案。因為我們前面就強調過初學不要太深究語言細節。如果內容很生澀不容易理解以至於閱讀了三遍以上還沒有明白就可以跳過了。或許後面的內容會幫助你對這些內容的理解。因為很多的知識點的關係是網狀的,一個知識點可能會與其他很多的內容有著細枝末節的聯絡,遇到這樣的內容跳過即可。或許在看完後面的幾章內容的時候你會發現原來的難點是那麼的容易。

 

       光看書是不夠的,要加深理解就要實踐。對於書中的程式碼要親自敲一遍。不要以為內容明白了就好了,這個時候還存在很大的問題。或許隱藏在程式碼裡也存在很多問題正是你在看書的時候所遺漏的。多寫程式碼的好處我就不多說了。對於新手看書然後寫書上的程式碼是很好的學習方法。比看完一本再看另一本卻沒有任何實踐強很多。當對一本書或一門語言有了一個全域性的認識之後,後面的任務就是查漏補缺,看看自己在那方面還有所欠缺,然後一針對性的複習下。之後學習的過程就是查漏補缺和實踐。使對語言的認識慢慢的一點一點更上一個臺階。當你犯過所有的錯誤並解決所有的問題之後,你就可以自豪的說我是這方面專家了。

    

     本文只是經驗之談,請廣大讀者本著拿來主義的精神閱讀。如對您有哪怕一丁點兒幫助,本人深感欣慰。

    各種知識的學習方法都是相通的,本文所闡述的一些方法對其他方面也是適用的。   

    文章如有錯誤與不足,請您不吝賜教!謝謝。

相關文章