編程語言學習之惑
最近喜歡上了python,吸引我的地方的是其簡潔之美以及方面的類庫,于是最近一個月我幾乎都將業余時間交給了python,但是越學習越覺得迷茫。
“學習編程語言的過程實際上就是學習該編程語言的語法+該編程語言的類庫”,這句話不是我說的,也不止一個人提到過。一門編程語言的語法其實也很簡單,估計會任何一門編程語言的人拿出來一天甚至是半天的時間都可以學會,但是學習該編程語言的類庫又是一個漫長的過程,浩如煙海的類庫不是一朝一夕就可以搞定的,難道學習一門新的編程語言就是為了從一門語言的類庫泥潭中跳入到另外一門語言的類庫泥潭中嗎?
我也曾經想借python的學習,來系統的學習一下編程語言的設計,也曾掌握過大致編程語言的語法結果,這些東西估計在《形式語言在自動機》中會有更系統的闡述,但是有的時候琢磨琢磨學習這些有什么用呢?除非是要設計一種范式或者設計一門新的編程語言,當前之下,編程語言五花八門,再怎么設計也趕不上現在的,何況也沒有那個功力。編程語言也就是一種編程的協議而已,我覺得跟HTTP協議、FTP協議差不多少,無非定義的就是動作+數據。
再說說那些浩如煙海的類庫,這些類庫其實就是造作考究的輪子,在解決問題方面,不過是多線程,還是網絡通信,還是其他的什么遍歷,都有一些比較成熟的模型和算法,各種不同的語言只不過根據這些模型和算法實現了輪子,這些輪子經過技術大牛們的精雕細琢,也經過廣大碼農們的“聯合測試”,相對已經比較成熟,所以我們不需要重新造,直接拿過來用即可。但是在沒有遇到對應的case情況下,我覺得我很難去“精通”這個輪子,也許僅僅是用這個輪子寫了一個“Hello world”,或者使用場景有限的情況下也很難體會到其中的設計之妙。
語言只是工具,只是媒介,相當于手中的劍,不管使用的銅劍,還是鐵劍,還是一把木頭劍,都可以去練那些高深的劍譜,都能玩出花來,只不過制造考究的劍能夠錦上添花而已。在這一點上,我覺得選擇C這把劍。python就當是一把槍好了,隨身攜帶,使用方便。
原文參考自web開發網:http://www.software8.co/wzjs/cxyyg/3635.html
原文參考自web開發網:http://www.software8.co/wzjs/cxyyg/3635.html