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

clipboard.png

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

全部人都認爲 Python 將連續第二年成爲 TIOBE 的年度編程語言。但這一次 C 語言憑藉 2.4% 的年增加率得到了這一獎項。編程

名詞解析:TIOBE 指數

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


編程語言趨勢變化圖

clipboard.png

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

clipboard.png

編程語言排名變化圖表

clipboard.png

歷年年度最佳編程語言

clipboard.png

爲何 C 語言仍然很熱門?

clipboard.png

C 語言是一種通用的程序設計語言。它同 UNIX 系統之間具備很是密切的關係。C 語言是在 UNIX 系統上開發的,且不管是 UNIX 系統自己仍是其上運行的大部分程序,都是 C 語言編寫的。可是 C 語言並不受限於任何一種操做系統或機器。因爲 C 語言使用用來編寫編譯器和操做系統,所以被稱爲「系統編程語言」。編程語言

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

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

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

說回編程語言自己,對全部的編程語言,其實最後的目的就是兩種:提升硬件的運行效率和提升程序員的開發效率。搜索引擎

但由於計算機體系的特性,全部的編程語言都沒法同時兼顧兩個方面。Python 和 Go 語言由於開發效率高在近幾年發展很迅猛,而在提升硬件的運行效率這一起,C 語言表示在座的各位都是弟弟。spa

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

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

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

其餘編程語言發展示狀

clipboard.png

在 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,雖然能夠適配任意平臺,但畢竟不是平臺的親兒子,將來的趨勢變化應該和跨平臺應用和大型非實時應用的發展緊密相關了。

clipboard.png

你如今主要用的編程語言是什麼?爲啥?

-END-

延伸閱讀:

1.如何學習一門新的語言?
2.清華畢業生開發新特效編程語言:99 行代碼背後 20 多年的故事...
3.2019 年 JavaScript 現狀調查報告

TIOBE 報告地址:https://www.tiobe.com/tiobe-i...

clipboard.png

相關文章
相關標籤/搜索