這4種難學又“沒用”的語言!
你可能主要用Python, Java, Go, JavaScript這些語言編程,把他們作為吃飯的家伙,除此之外,我建議你考慮學習這幾種短期看起來沒用的語言。
首先是C語言, 說實話,學習C語言不能給你帶來立竿見影的、直接的好處,因為它是一門非常基礎的語言,用它來寫的都是一些系統級的軟件,如操作系統,虛擬機,TCP/IP協議棧等等。
但是當你開始學習計算機底層的原理性知識,例如操作系統,網絡,數據庫,總會接觸到C語言,比如和應用層結合緊密的IO多路復用,要想真正地理解,還得靠C語言去展示。
C語言貼近硬件,它的指針可以直接操作內存,配合匯編,可以幫你在腦海中建立一個程序是怎么在機器級別執行的圖景:函數是怎么調用的,參數怎么傳遞的,對你以后學習各個虛擬機也大有好處。
但問題是什么時候學呢?要學到什么程度呢?
我是在大學學的C語言,學之前連計算機都沒怎么用過,連Turbo C的菜單是什么意思都理解不了, 老師講的東西像天書一樣,悲催至極,過了兩個月才慢慢緩過勁來。
工作后用C/C++寫COM組件,勉強靠C語言混口飯吃。后來自學操作系統,看《操作系統:設計與實現》,真正體會到了C的重要性,因為底層的進程管理,內存管理,IO管理,都是C語言搞定的。我對C語言并不是非常精通,但是看C語言的代碼應該是綽綽有余,我覺得這就足以讓我在底層的世界中遨游了。
科班出身的,建議在大學把C語言搞定,轉行過來的第一門語言可以考慮Python。
然后是Lisp,學習Lisp不僅僅是為了學習函數式編程,因為在很多語言中函數式編程已經得到了支持。
Lisp之強大只有親自深入學習以后才能感受得到,這種“變態”的,在運行時可以改變自身的能力,這種數據和代碼一致的表示,會刷新你對編程語言的認知。
Raymond說得好:Lisp之所以值得一學是基于另外的理由——當你最終掌握了它的時候,你將會獲得巨大的啟迪。它將使你成在今后為一個更好的程序員,即使你實際上很少使用LISP本身。
第三種語言是英語,因為編程世界,英文大行其道。
IT界的新概念,新技術主要是美國人發明的,我們還處于跟隨階段,閱讀技術文檔,需要用到英文,和翻譯版相比,它們更加及時和準確。
英語有聽、說、讀、寫,對程序員來說,讀最重要,如果你參與了開源的項目,對寫的要求會高一些。只有你在外企,或者和國外有合作項目,聽和說才會變得重要。
考過四級的,詞匯量應該差不多,要多去讀英文的技術資料,鍛煉自己的閱讀能力。
第四種語言是漢語。 難道我學了十多年的語文,還得學習?有沒有搞錯?
其實我這里想說的是寫作能力,有人戲稱,高考作文就是你人生寫作的巔峰,我發現還是有一定道理的,很多人寫出來的東西,確實是有點慘不忍睹。
在碼農翻身知識星球中,有不少提問都讓我摸不著頭腦,得多次交流才能準確理解,這個方面確實得加強。
如果你認為在這個行業只要憑代碼說話就夠了,那你的眼光就太狹隘了。在對內的工作中,你需要寫郵件和別人溝通,寫設計文檔讓別人理解你的思路,寫PPT給領導做匯報。在對外的宣傳中,你會寫博客,寫公眾號,寫一切能宣傳公司,宣傳自己的東西。寫作是不是很重要?
不一定要妙筆生花,妙語連珠,但總得準確、清楚地把自己的想法給表達出來吧。
寫作輸出是建立影響力的一種重要方式,要慢慢地鍛煉出來。
【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】