posts - 495,  comments - 11,  trackbacks - 0

          這兩天在看《編程人生》,這本書確實非常不錯。而且看得也特別的輕松。其中有幾個人都談到了如何學習新的語言,但是給我最深刻的是google的首席java架構師joshua bloch。正好最近我也在學習python,所以順便總結一下如何學習一門新的語言。希望你能補充一些。

          心態

          這不但是學習一門新的語言最重要的,而是對任何的學習都是最重要的。下面是書中的描述,非常的精彩,特別是那個比喻:

          “學習一門新的語言的時候,要利用以前所學的語言的功底,但是也要保持開放的心態。有些人執著于一種理念:“這就是寫所有程序必須遵循的方法”。我不是說那種語言,但是某些語言,令人執著于這樣的理念。當開始學習新語言的時候,他們會批評這種語言跟真正神的語言的所有的不同之處。當使用新語言時,他們極力使用神的語言的方法去寫。這樣,你就會錯過這個新語言真正的獨特之處。
          這就像你本來只有一個榔頭,有人給了你一個螺絲刀,你說“哎,這不是一把好榔頭,但是我應該可以倒著拿螺絲刀,用螺絲刀來砸東西。”你得到了一個很爛的榔頭,但事實上它確實一把很不錯的螺絲刀。所以你應該對所有的事物保持開放和積極的心態。”

          如果你的杯子滿了,那他永遠再也裝不進水了。如果你認為你找到了銀彈,那么你可能就要固步自封了。

          對新的事物,方法保持一個開發而積極的心態,才能真正了解他,了解他的獨特之處。

          這一點相對來說比較難,程序員一般對他們的語言有一種近乎固執的偏愛。Paul Graham在《黑客與畫家》中好像提到過,開發語言是程序員的宗教信仰,貶低一種語言對使用這種語言的程序員是一種侮辱。

          了解他的歷史,哲學觀

          選擇一門語言,往往選擇了一種思維方式和哲學觀。所以,了解一門語言的歷史和哲學觀非常重要。你要知道這門語言是誰創建的,為什么創建,如何發展起來的,適合那些領域,以及解決問題的哲學是什么。

          那python來說,他的設計哲學是“用一種方法,最好是只有一種方法來做一件事”,而perl的設計哲學是“總有多種方法來做同一件事”。所以,我選擇的是python。

          了解這方面的知識的一個非常好的來源是百科網站。

          代碼,代碼,還是代碼

          代碼是學習一門語言的必經之路,可能也是最快的一種方法。

          你不但要找一些優秀的代碼來閱讀,還要親自動手來寫代碼。這個過程對學習語言來說是非常快的。另外,你一定要用語言去解決實際的問題,而不僅僅是寫代碼來驗證語法。在解決問題的過程中,你可以學習它是如何解決問題的,而且會積累語言的經驗。

          在工作中使用一門新的語言來開發新項目的風險相對較大,所以,如果再工作中嘗試使用新的語言,可以選擇一些小的項目來積累經驗。如果工作中無法使用這個語言,那么就在業余使用這個語言解決問題吧。

          社區

          多去這個語言的社區逛逛吧,這里有很多人在討論這種語言,和他們一起討論你能夠學到更多。


          本文轉自CSDN博客

          posted on 2011-06-01 12:48 jadmin 閱讀(77) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 汾阳市| 剑河县| 凤庆县| 阿克陶县| 嫩江县| 双江| 浦东新区| 团风县| 桦川县| 汶川县| 正镶白旗| 禹州市| 荣昌县| 昭平县| 揭东县| 平乐县| 渭源县| 施秉县| 石嘴山市| 威信县| 获嘉县| 芮城县| 武功县| 普格县| 汉源县| 通城县| 武邑县| 阳泉市| 中宁县| 宁远县| 肇源县| 五家渠市| 徐闻县| 手机| 金阳县| 红桥区| 夏津县| 丹凤县| 天津市| 阿鲁科尔沁旗| 金秀|