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