專欄 | 九章演算法
網址 | www.jiuzhang.com
軟體工程在過去的幾十年裡發展的越來越好,人工智慧的開創性研究和物聯網的發展為軟體開發行業提供了大量有前景的工作機會。
但是程式設計技術日新月異,常會給程式設計師帶來深深的危機感,很可能程式設計師正在使用的某種程式語言未來幾年內就被淘汰了。
所幸,TIOBE從2001年起就一直在推出程式語言流行度排行榜,根據全球範圍內高階程式設計師的人數和第三方供應商的數量統計出排名資料,排行班以每月一次的頻率更新。
下面是一張TIOBE根據2017年4月的研究資料製作的表格,一起來看看TIOBE榜上2017年最受歡迎的程式語言有哪些吧:
1. JAVA
2016年和2017年連續兩年Java語言受歡迎程度都是第一名。
Java目前由Oracle公司維護,有著全球最大的開發者專業社群。據Oracle公司稱,Java語言目前有900萬名開發者在使用。
作為一種開放的技術,Java具有卓越的通用性和平臺移植性。此外,它還是Android移動作業系統背後最主要的程式語言。這些因素也許都是其受到廣泛歡迎的原因。
2. C語言
C語言曾在2015年3月被TIOBE排名為世界上最流行的語言,它也一直是最流行的兩種程式語言之一。
C語言是C++的前任,是功能減少的簡化版本,這使其得以在記憶體有限的大量硬體裝置中執行,如嵌入式硬體裝置,以及在效能關鍵型的場景中執行,如處理大量的資料或處理音訊和視訊流時。
最受歡迎的作業系統Linux的核心就是用C編寫的。
3. C++
C++是一種使用非常廣泛的計算機程式語言。
它支援過程化程式設計、資料抽象、物件導向程式設計、泛型程式設計等多種程式設計風格,是很多常用的桌面應用程式程式設計時的主要選擇。
此外它還是裝置驅動程式、遊戲引擎、音訊/影象處理工具、嵌入式軟體等等的首選。
4. C#
C#是微軟公司在2000年6月釋出的物件導向的程式語言。它使得程式設計師可以快速地編寫各種基於MICROSOFT .NET平臺的應用程式。
C#物件導向的卓越設計,使它被廣泛的應用於微軟碟機動工具、桌面應用、和Windows作業系統元件。
無論是高階的商業物件還是系統級的應用程式,使用簡單的C#語言結構,就可以使這些元件方便的轉化為XML網路服務,從而使它們可以由任何語言在任何作業系統上通過INTERNET進行呼叫。
最重要的是,C#使得C++程式設計師可以高效的開發程式,而絕不損失C/C++原有的強大的功能。因為這種繼承關係,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。
5. Python
Python是一種在不同的場景下通用的嵌入式指令碼語言,
是許多web框架的堅實基礎,也是自動化任務(包括3 D軟體應用程式)的首選,可以用來完成桌面工具的程式設計和資料計算的活動。
Python的靈活性使得它可以對各種作業系統構建應用程式,包括Android。
6. Go語言—增長最快
Go是2007年由谷歌開發的一種程式語言,設計初衷是為了構建簡單、快速、可靠的應用程式。
其母公司谷歌旗下的部分產品已經開始使用Go語言來編寫。由於開放原始碼,所以Go語言開源社群已經聚集了大量的貢獻者。使用Go編譯的程式可以媲美C或C++程式碼的速度,而且更加安全和支援並行程式。
有來自Google的支援、活躍的社群、再加上語言學習難度低,上手快,也許正是這些因素使得Go語言的熱度攀升,越來越受到開發者的歡迎。
說明
為了瞭解整個程式設計行業的趨勢,我們取12個月排名的平均值得到了如下圖的Top 10程式語言排行榜長期走勢,從表格中可以看到2002年到2017年期間,Java、C、C++一直熱度未減,並且Java、C語言一直保持著最受歡迎的程式語言前兩名。
值得注意的是
TIOBE排行榜僅僅反映的是程式語言的熱門程度,並不代表哪種語言最好,或者哪種是已經被寫成程式碼最多的語言。
程式設計師除了能瞭解世界範圍內開發語言的走勢,更重要的是可以根據這類排行榜指數來檢閱自己的程式設計技能是否跟上了趨勢,或是否有必要作出戰略改變,以及什麼程式語言是應該及時掌握的。
推薦閱讀:
- 《北美IT企業fulltime薪資大曝光》
- 《IT 簡歷模板大放送 | 《如何寫好技術簡歷》講座精華總結》
- 《offer收割機的求職祕訣 | <如何成為offer達人>講座精華總結》
- 《Google offer 如何談判?聽聽 Google recruiter 怎麼說!》
- 《面試遇到做過的題怎麼辦?》
- 《冷凍期大揭祕 | Google、FB、Amazon、Linkedin冷凍期》
- 《面試前如何瞭解一家IT企業?試試官方技術部落格!》
- 《北美IT企業intern薪資大曝光》
- 《16個behavior question 的面試官解析及tips》
- 《Google晉升機制 | 大公司如何升級打怪, 獲得晉升?》
歡迎關注我的微信公眾號:九章演算法(ninechapter)。
精英程式設計師交流社群,定期釋出面試題、面試技巧、求職資訊等