如何快速掌握程式語言

WBOY
發布: 2016-07-25 09:04:38
原創
865 人瀏覽過
我想學php,有沒有推薦的php的入門書籍?
我想學android,對java掌握到什麼程度才能開始呢?
我c/c++還沒入門,能直接學python麼?
這些問題都是初學者常常縈繞心頭的疑慮。在我們自己的現狀和想要達成的目標間,總是橫亙著一條名為「先決條件」的大河,似乎除了花費巨大的精力遊過這條大河外,別無他法。很不幸,大部分人還沒能夠接近目標,便被湍急的水流沖走了。然而,還是有少數人似乎坐上了阿拉丁的魔毯,毫無遲滯地直達彼岸,好像學什麼技術都不那麼費力。這是怎麼回事?
學一門新的語言,或是新的技術,與其說是一種能力,不如說是一種方法。試問什麼樣的人,或是人在生命的什麼階段,學習效率最高?效果最好?答案顯而易見:嬰兒期。我的不到兩歲的女兒估計現在也就掌握了幾十個名詞,十多個動詞,三五個形容詞和介詞而已,但每天從她口中蹦出來的話不下幾百句。想想我們自己學了多少年英語,才能從口中完整地說出:"hello everybody, so glad to see you",初中?高中?抑或大學?想想我們單字量三千的時候能做什麼程度的溝通,溝通?
如果你仔細觀察,你會發現,嬰兒的學習方法極盡實用之能。模仿,試錯,練習,不管一切所謂「權威」的語法,詞法,一切以用為主。還是以我女兒為例,她的表達是以片語和句子為主:
說出的大部分的句子,她並不知道每個字的具體意義,但她知道這個句子的模糊的意思,而且從大人的反應中,她能知道她理解的意思是否正確,就這樣,一次又一次模仿,試錯,獲得回饋,不斷地累積自己直接能用的「知識」。
這是實用主義者的學習方法:繞過障礙,直奔主題,專注那些你馬上需要學習的。幾年前,我在開始學某樣東西前,會上網搜羅幾乎所有能找到的從入門到進階再到專家的書籍,在看了一大堆各式各樣的評論後,心滿意足地篩選出所謂的「精品」買回家,然後把他們壘到書桌前,彷彿這是學習前必要的儀式。但這樣的做法只是成就了豆瓣和亞馬遜,堆積的圖書往往在我豪氣萬丈地看到第一本的第X章(X
其實我大可不必去擔心這些「基礎知識」,把它們先放在一邊,用到多少,便學多少。比如說,我要學rails,那就直接從rails開始,遇到有關rub​​y的語法障礙,回過頭來看看ruby文檔中相關的內容,掃清障礙立刻回到rails本身,而不是先從ruby啃起。要知道,rails裡用到的ruby特性,可能佔ruby整體語言和類別庫特性的20%都不到!從ruby學起,便是走了岔路。
軟體開發是個手藝活,它的學習不是各種可能很少用到的知識一股腦的堆積,我們沒法在一切理論知識準備就緒以後再開始學習。 scala的作者批評java的低效率時曾經說過,java把寫程式變成了做儀式,因此毫無樂趣可言。那麼,當我們在桌前堆滿了從入門到專家的各種書籍,是不是也把學習變成了一場盛大莊重的儀式?重要的不是堆砌了多少知識,而是學以致用。
光是專注並直奔主題還遠遠不夠。學習過程中你需要大量練習和獲得回饋。 嬰兒並沒有在累計了3000個詞彙之後才開口說話,而是當身體和大腦準備好後的第一天就張口說話了,並且,儘管說得錯誤百出,他們依然越挫越勇,屢敗屢戰。同樣的道理,當你學習python而不使用ipython在REPL環境下嘗試各種使用技巧,當你學習django而沒有從搭建一個可運行的web項目開始,那學習效率肯定不高,效果也必然馬馬虎虎。在健身房裡,就算觀摩教練的動作一百遍而不是自己親自嘗試,並接受對方的糾正建議,你還是無法掌握正確的動作要領。我看過有人把書中的例子一個個敲到編輯器中,全部運行正確,然後就心滿意足地認為自己「掌握」這門技術了。殊不知,這種「練習」並非有價值的練習。我們需要試錯,就像嬰兒學步一樣,模仿,邁步,跌倒,爬起來,再邁步。犯錯是學習的一部分,當你看完教程掌握了裡面所述的內容後,可以自己構思某個應用或某個使用場景,然後從頭寫起。你會發現很多問題,也會加深對教學的理解。自己無法回答的問題,可以尋求社群的幫助,大部分和開發有關的問題都能在stackoverflow上解決。這樣不斷地練習和獲取回饋,你的開發功底會很快提升。許多非系統的知識和能力(甚至洞見)就是這樣透過不斷練習和試錯在下意識間學到的—— 它們來得如此悄無聲息,以至於除你之外,別人都將其視為你的一種天賦。
那麼,什麼時候需要有系統地學習呢?當你有了實戰所需的技術和經驗,需要宏觀上對自己所學的內容做一個昇華時,或者當你的實戰能力遭遇到了瓶頸的時候。有句話說得好:你不需要成為一個優秀的ruby工程師才能用好rails,但如果你想成為一個優秀的rails工程師,則你必須很好地掌握ruby。遺憾地是,許多初學者的問題是:想對一門技術快速入門,卻使用了系統學習的方法,還未入門,便倒在了艱苦修行的路上。
免費領取兄弟連php原創影片教學光碟,詳情諮詢官網客服:
http://www.lampbrother.net



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!