領域驅動技術,技術鞭策領域。
近日,IEEE Spectrum 最新發布了 2020 年年度程式語言排行榜。IEEE Spectrum 程式語言排行榜一年發佈一次,截止到今年,該排行榜已經連續發佈了七年。與其他榜單有所不同,IEEE Spectrum 可以讓開發者自己選擇參數組合時的權重,得到多樣的排序結果。
在最新的程式語言排行榜中,IEEE Spectrum 通過綜合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八個來源 ,分析了 55 種程式語言的流行度,發佈了 2020 年度程式語言排行榜。
Python 連續四年奪冠
近幾年間,Python 的火熱有目共睹。不僅在 IEEE Spectrum 程式語言排行榜中,在其他榜單如 TIOBE 上,Python 也位居前列。但對於很多從業者而言,Python 的迅猛發展與自己日常的工作相關性並不強,而 Python 究竟是哪些人在使用,亦或是其排名爲何在短短時間內超過了老牌程式語言,或許很多存在種種的疑問。
不過據調查發現,摒除業界一些資本的炒作,Python 成爲主流並非沒有原因,一方面,Python 與我們所熟知的人工智慧、機器學習、數據分析與處理等領域的需求緊密相關;另一方面, IEEE Spectrum 官方在對 Python 深入研究後表示,這或許也與 Python 被用作教育領域的教學程式語言有關。
時下,Python 成爲許多學生學習的基本語言之一。這也與在 1980 年代 BASIC 成爲主流的發展趨勢頗爲相似。彼時,BASIC 被納入學生的教學語言中,市場上也存在許多針對該語言解析與實踐的書籍、雜誌乃至電視節目,學習 BASIC 也成爲衆多計算機與 IT 從業者的必過的一道門檻。但與現在 Python 的發展有所不同的是,在 BASIC 的年代中,很少有專業的程式設計師使用它,以至於隨着時間的推移,BSAIC 的使用率更是一降再降,雖然後來衍生版本如 Microsoft Visual Basic,在相關的領域仍有一定的地位,但依舊未能讓 BASIC 屹立不倒。
除此之外,Python 之所以不會走上 BASIC 的老路,還有一層比較重要的因素,就是與 BASIC 有所不同,Python 語言易於上手,也擁有豐富的庫和工具,同時在機器學習等備受矚目且較爲專業的技術領域中也經常會被用到。
IEEE Spectrum 程式語言排行榜 TOP55
鐵打的 Java、C,分別排名二、三位
根據 IEEE Spectrum 程式語言排行榜顯示,除了 Python 之外,Java 和 C 語言分別位居第二、第三爲。其次是 C++、JavaScript。
不過和去年榜單相比,在今年調整了指標後,Java 的佔比有所降低。與此同時,JavaScript 超越了 R 語言,成功進入 TOP 5 之列。
此外,Arduino 有了很大位置地提升,從第 11 位上升到第 7 位。 可能會有人說,Arduino 不是一種語言,而是使用 Wiring 派生的硬體平臺進行程式設計的,而 Wiring 本身是從 C / C ++ 派生的。事實上,當使用者希望使用相容 Arduino 的微控制器時,他們通常會搜尋「 Arduino程式碼」或購買有關「 Arduino 程式設計」的書籍,而不是搜尋「 Wiring 程式碼」或「 C程式設計」。
上古語言 Cobol 再流行
今年,在這份榜單中,令人驚訝的是,程序導向的高階程式設計語言 Cobol 重回大衆視野。甚至在不久之前,據 CNBC 報道,美國新澤西州正在對外招募一些會 COBOL 編碼的程式設計師,以至於出現「80 歲大齡程式設計師出山」一說。
COBOL 作爲一種專門爲企業管理而設計的高階語言,多被用於一些比較重要且大型的商業數據處理領域,如在統計報表、作業排程、人事管理等系統中被廣泛應用。雖然現在很多的應用開發被更爲現代化的程式語言取代,但是在一些金融及大型企業或政府機構中,他們還在使用基於 COBOL 的應用。這不僅是因爲傳統的應用系統過於龐大,修改難度大,而且也由於 COBOL 的穩定性使得這些軟體的生命週期更爲長久。
不過,在如今全球 COVID-19 的爆發疫情之下,因爲多個地方封鎖,導致不少員工面臨失業的窘境之下,美國各州的失業救濟金系統在超重負荷下不堪一擊,經常出現崩潰等現狀。這也讓在幾十年前建立以來,許多系統未及時保持更新的問題逐一暴露出來,由此,出現上述所提及到的諸多 Cobol 程式設計師被召回的現狀,在此趨勢之下,Cobol 語言的熱度也迅速上升。
就業需求程式語言排行榜
基於程式語言和工作的匹配度層面來看,在萬億級 AIOT 時代,C 語言的市場需求趨勢超過了 Java。
Go 語言排在第四位,從其應用場景中,我們發現,Go 憑藉豐富的標準庫、效能、高效率等優勢,在微服務、雲平臺、分佈式系統開發中深受開發者歡迎。
開源程式語言排行榜
在開源領域,Python 依然是主流,其次分別爲 Java、C、JavaScript、C++。
更多報告內容可參考:https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020