TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

近日,TIOBE 官方發佈了 2020 年 1 月編程語言排行榜單。

所有人都認為 Python 將連續第二年成為 TIOBE 的年度編程語言。但這一次 C 語言憑藉 2.4% 的年增長率獲得了這一獎項。

名詞解析:TIOBE 指數

TIOBE 編程社區索引是編程語言受歡迎程度的重要指標之一。索引每月更新一次。評級評分基於諸如 Google、Bing、Yahoo!、Wikipedia、Amazon、YouTube 和 Baidu 等流行的搜索引擎。

編程語言趨勢變化圖

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

編程語言 20 年趨勢變化折現圖

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

編程語言排名變化圖表

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

歷年年度最佳編程語言

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

為什麼 C 語言仍然很熱門?

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

C 語言是一種通用的程序設計語言。它同 UNIX 系統之間具有非常密切的關係。C 語言是在 UNIX 系統上開發的,且無論是 UNIX 系統本身還是其上運行的大部分程序,都是 C 語言編寫的。但是 C 語言並不受限於任何一種操作系統或機器。由於 C 語言使用用來編寫編譯器和操作系統,因此被稱為“系統編程語言”。

計算機體系有一個較為通用的分層方法:

  • 腳本層級:Python、JavaScript、Ruby 等
  • 應用層級:Java、C++、C# 等
  • 系統層級:C 語言
  • 彙編層級:機器語言、彙編語言
  • 硬件層級:計算機硬件實體

這五個層級由上到下逐層依賴,大熱的 Python 屬於腳本層級的編程語言,Java、C++ 屬於應用層級的編程語言,而 C 語言是系統層級的語言,可見其在計算機體系中不可替代的位置。

說回編程語言本身,對所有的編程語言,其實最後的目的就是兩種:提高硬件的運行效率和提高程序員的開發效率。

但因為計算機體系的特性,所有的編程語言都無法同時兼顧兩個方面。Python 和 Go 語言因為開發效率高在近幾年發展很迅猛,而在提高硬件的運行效率這一塊兒,C 語言表示在座的各位都是弟弟。

雖然 C 語言已經把硬件的運行效率壓縮到了極致,但隨之相對應的問題就是使用體驗較差。所以,C 語言唯一的目的可能就是快。有人說:C 語言只關心程序飛的高不高,不關心程序員飛的累不累。這句話好像沒啥毛病。

而 C 語言近期快速反撲的原因,主要是物聯網(IoT)和當今發佈的大量小型智能設備。當將 C 語言應用於對性能至關重要的小型設備時,C 語言的優勢就體現的很明顯了。還有 AI、機器人、自動駕駛等等,這些都是基於 C 語言的核心應用場景。

隨著技術的發展,下一階段 C 語言的地位應該還是比較穩的,並且會繼續逐步上升。吃到了這一波兒技術紅利的還有 Python,但其實和 C 語言不在同一賽道上。

其他編程語言發展現狀

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

在 TIOBE 榜單中,還有很多有趣的數據變化。

Swift 從第 15 名提高到了 第 9 名,看趨勢近期也能穩入前十了;Ruby 也從第 18 名提高到了 11 名。而一些咋咋唬唬本以為排名會突飛猛進的語言,其實表現平平,甚至有的遭遇了滑鐵盧:

  • Rust 雖然排名提高了 3 位,但仍只位列第 30 名;
  • Kotlin 從第 31 名降到了第 35 名;
  • Julia 從第 37 降到了第 47 名;
  • 難兄難弟 TypeScript ,排名 48…

我們剛才分析了 C 語言順勢發展的原因,而那些發展較好的其他編程語言,大部分都把優勢集中在了提高程序員的開發效率上。這個世界上不存在“開發容易,運行快”的語言,開發容易畢竟來源於對底層的一層一層又一層的包裝。

再說平臺領域,每個平臺都推出自己專屬的語言。Windows 會繼續支持 C#,蘋果偏愛 Swift, Android 推出 Kotlin,Google 用 go。而萬年老大哥 Java,雖然可以適配任意平臺,但畢竟不是平臺的親兒子,未來的趨勢變化應該和跨平臺應用和大型非實時應用的發展緊密相關了。

TIOBE榜單發佈:超越Python!C語言榮獲 2019 年度最佳編程語言

你現在主要用的編程語言是什麼?為啥?


分享到:


相關文章: