2020年,五個學習一門新編程語言的理由!

功夫明星李小龍有一句名言:「我不怕練了一萬種腿法的人,我怕的是同一種腿法練了一萬次的人。」前端

可見,只要一門心思地作一件事情,就可以達到出神入化的境地,連一代功夫大師都會害怕你。web

在2020年,你須要學習一種新的編程語言仍是像李小龍說的那樣繼續你已經掌握的語言?編程

仍是那句話,具體問題具體分析。後端


 

若是你剛剛開始學習第一門編程語言,那麼我建議你先正確地學習這門語言。但若是你已經正確地掌握了一種語言,或者你是一名經驗豐富的軟件開發人員,已經掌握了不止一種編程語言,那麼我建議你明年學習一種新的語言。前端框架

學習一門新的編程語言是要付出代價的,會耗費大量的時間、精力和腦力。但學習一門新的語言能夠直接或間接地給你帶來巨大的好處。架構

下面我將列出學習新編程語言的五大優點:框架

 

1. 更大的工具箱


 

若是你只會使用一種工具,例如錘子,那麼你會嘗試在每一個場景(不論是否合適)中都使用錘子。軟件開發人員也是如此。編程語言

人們都想待在本身的溫馨區裏,想一直使用已經熟悉的編程語言。我見過許多開發人員只知道一種編程語言(如Java或C++),並試圖運用在全部用例中。函數式編程

學習一種新的編程語言能使工具包更加豐富,讓你成爲一個更好的開發人員。函數

 

2. 職業發展


 

若是你想進入此職業領域,好比,你想成爲一名軟件架構師或解決方案架構師,那麼你的專業知識不只要深刻更要普遍。做爲軟件架構師,你應該對整個堆棧作出設計決策,而不只僅是後端或前端。

曾幾什麼時候,有一種「象牙塔」架構師,他們能夠爲一個項目設計軟件架構,而不須要知道實際的編碼。但公司愈來愈傾向於尋找可以編碼的軟件架構師。

若是你是一個軟件架構師,能夠用多種編程語言編寫代碼,而且能夠與開發人員交流,那麼開發人員將更尊重你。

再次強調,通往軟件架構師或解決方案架構師的道路將須要許多其餘技能。

可是,若是你想成爲一名軟件架構師或解決方案架構師,學習新的編程將對你大有助益。

 

3. 通往全棧軟件開發之路


 

隨着微服務架構的興起,對全棧開發人員的需求只會愈來愈多。

我以前提到微服務架構須要一個跨功能的團隊,例如在一個團隊中, 2個開發人員對前端進行編碼, 2個開發人員只對後端進行編碼,這個團隊就不夠靈活。因爲前端和後端開發人員並行工做,假如遇到前端或後端開發人員都沒法工做的狀況,團隊的進度將受到阻礙。在堆棧之間切換的完整堆棧開發人員越少,團隊發展的越好。

此外,公司還願意支付額外的工資給一個全堆棧的開發人員。

如今,學習另外一種編程語言不會直接讓你成爲一個完整的堆棧開發人員,但能對你提供極大的幫助。

 

4. 更具全局觀


 

現現在,編程語言的領域廣闊,多樣且複雜。一般,一種編程語言只覆蓋編程語言領域的一小部分。有一個著名的故事,盲人只摸大象的一個部位,而後猜摸得是什麼,例若有人摸大象的尾巴,說本身摸到的是繩子。編程語言也是如此。

如下是主流編程語言範例:

 


 

在一個範式中,還有更多的子範式。一般,一種編程語言只關注一種範式(例如C是過程範式,Haskell是函數範式)。也有許多語言觸及到多個範式,儘管不是100%(例如,Java是面向對象的,部分屬於功能性)。

學習一門新的編程語言將使你對編程語言有更全面的瞭解。像任何其餘領域同樣,一個更大的全局性圖景每每是有幫助的,而且能獲得額外的優點。

 

5. 更強的適應性


 

在快樂的舊時代(例如上個世紀),開發人員的生活很簡單。那個年代,學習一種主流編程語言,就能夠工做一生。

但在現代,軟件開發人員的生活更具變更性。隨着微服務(Microservices)的興起,多語言編程(Polyglot programming)已經成爲一種常態而非特例。

在工做或項目中可能須要學習一門新的語言。人類的大腦在遷移學習方面很是出色。若是你已經掌握Haskell或Scala,那麼學習其餘函數式編程語言就會很快。若是你學習了一種現代語言,例如Kotlin,那麼你能夠很快地學習其餘相似的現代語言(例如TypeScript)。

如今,即便是前端web框架也使用不一樣的編程範式。所以,若是你已經瞭解Scala或Haskell,就能夠比其餘人更快地瞭解前端框架React,由於React大量使用函數式編程的概念。

一般公司都想用一個新的軟件棧來探索新的軟件開發。若是你已經知道編程語言,就能夠很容易地抓住機會使用新的更酷的項目。

不論是綜合發展仍是精益求精,適合你的纔是最好的!


看到這裏是否是又有不少感悟了呢~

若是你很想學會編程,那麼小編推薦個人C語言/C++編程學習基地【點擊進入】!

都是學編程小夥伴們,帶你入個門仍是簡簡單單啦,一塊兒學習,一塊兒加油~

還有許多學習資料和視頻,相信你會喜歡的!

涉及:遊戲開發、經常使用軟件開發、編程基礎知識、課程設計、黑客等等......

相關文章
相關標籤/搜索