點擊上方「CSDN」,選擇「置頂公眾號」
關鍵時刻,第一時間送達!
【CSDN編者按】在之前的 TIOBE 年度榜單中,寶刀未老的 C 語言成功逆襲,成為 2017 年度程式語言。在本文中,我們綜合了最具權威的 TIOBE 榜單、全球最大的求職引擎 Indeed.com、以及代碼最活躍的社區之一 GitHub,對於過去一年中哪種程式語言最受歡迎?程式語言中有哪些一直屹立不倒?2018 年的語言趨勢是怎樣的?JavaScript 又為何會會遭到棄用?這些問題本文中我們會一一進行解答。
以下為譯文:
世界因科技而驅動,各行各業因技術而得到了根本性的改變,而這些技術的核心正是程式語言。本文我們總結了 2017 年最流行和最具影響力的程式語言,對於開發者來說是一個提升技能的機會,在未來的十年都將是非常寶貴的指導。
有幾百個指標可以用于衡量程式語言,本文我們只關注以下幾個最權威的指標:
TIOBE:通過整合世界各地的數據來源,TIOBE 每月都會更新榜單。Indeed.com:作為全球最大的求職引擎,Indeed 是編程工作的一個很好的衡量標準,可以幫助研究 TIOBE 中排名前 50 的程式語言職位空缺數量。GitHub:GitHub 是當今最活躍的的代碼庫之一,每年他們都會創建一個年度回顧報告,分享他們程式設計師社區的統計數據。本文引用他們的度量標準「Pull Requests Opened」作為語言流行度的另一個指標。本文也預測了程式語言的未來,我們使用各種各樣的資源來預測增長最快的語言、最有影響力的語言、以及最有可能失去人氣的語言。
最流行的程式語言
上圖的 TIOBE 數據顯示了截至 2017 年 12 月的前 20 種最流行的程式語言,其中百分比指一種語言所具有的「市場份額」數量,所有的語言合計 100%。如圖所示,Java、C、C++ 穩居前三,市場份額較高,Python 緊隨其後,市場份額較之前幾年有了大幅提升。
Indeed.com 的數據顯示了需求最高的編程職位, 我們從 TIOBE 索引中選取了 50 種最流行的語言,通過職位搜索進一步得出了其中崗位需求量最高的前 20 種語言。最流行的 Java 語言,其職位空缺也相應最多。不過有趣的是,類似 Apex 這些不太流行的語言也位於職位空缺的前 20 名,這可能意味著這些語言的流行趨勢正在上升。
「Github年度回顧」提供了來自社區的前15名 「Pull Requests」,「Pull Requests」 是一種向開放式開發項目提交貢獻的方法。Javascript 在 GitHub 上佔有很大的比重,比之第二種語言提高了兩倍多。2017 年,Python 通過 「Pull Requests」 超過 Java 成為第二大流行語言。
五大頂級程式語言及受歡迎原因解析
為什麼這些頂尖的程式語言會如此受歡迎?以下將深入研究 Java、C、Python、JavaScript、Ruby 這五種頂級語言,了解它們是如何使用的以及人們為什麼喜歡它們的原因。
Java 穩居第一
Java 自 90 年代中期創建以來,一直是最受歡迎的語言。世界上許多大型公司都使用 Java 來構建桌面應用程式和後端 Web 系統。
Java 廣受歡迎的因素有很多:
可移植性:由於與平臺無關的 Java 虛擬機(JVM),Java 幾乎可以在所有系統上運行。此外 Java 也是最流行的 Android 語言,所以絕大多數的 Android 應用程式都是用 Java 構建的。可擴展性:Java 是為了擴展性而設計的,所以它在初創企業中很受歡迎。而且由於 Java 是一種靜態類型的語言,所以它的維護速度更快,更易於維護,而且還具有向後兼容性,這意味著舊版本的語言即使在新版本發布後也能夠完美運行,不用在新版本出現時擔心重寫代碼的問題。社區龐大。由於龐大的用戶群體,以及大量的 Stack Overflow 和 GitHub 社區,開發人員遇到的任何問題幾乎都可以找到解答。C 語言仍然流行
C 是最古老、最受歡迎的程式語言之一,這要歸功於其近乎普遍的可移植性,並被包括微軟、蘋果、Linux 和甲骨文在內的大牌企業所選用。C 語言也是汽車、電子和其他設備中嵌入式系統最流行的語言。我們今天接觸的所有東西,從手機到鬧鐘,基本上都受到 C 語言直接編寫的影響。
那麼它為什麼在今天仍然很流行,甚至奪得 2017 TIOBE 榜單的年度程式語言?首先,它本質上是一種可攜式彙編語言,幾乎適用於所有系統。其次,C 還具有完全符合作業系統和嵌入式系統(如汽車儀錶板)的特性。此外,任何程式設計師都能從 C 語言的學習中受益,許多在線編寫和共享的算法都是在 C 中完成的。
C 語言本質上是程式語言的「通用語言」,像 C ++ 和 C# 這樣的 C 類衍生品也是最受歡迎的 5 種語言之一,同樣解釋了為什麼 C 語言今天仍然具有極大的影響力。
崛起的 Python
在過去 15 年中,Python 一直處於穩步上升中,幾年前終於突破了 TIOBE 榜單的前五名,這是因為機器學習、人工智慧(AI)、大數據等技術都嚴重依賴於 Python。此外網絡安全也是我們這個時代重要的課題之一,也是由 Python 驅動的。
Python 現在還是大學裡最受歡迎的入門語言,也常常被有經驗的開發者列為第二或第三語言。
JavaScript 繼續佔主導地位
由於無處不在的網絡瀏覽器,JavaScript 成為世界上最流行的程式語言之一,並在 GitHub 的 「Pull Requests」 榜單排名第一。
JavaScript 允許開發人員向網頁添加交互式效果,它經常與 HTML 一起工作,現在單獨使用 JavaScript 來構建 Web 應用程式變得越來越普遍。由於其的簡單和高效,越來越多的初創公司和技術企業開始通過 Node.js 框架在後端使用 JavaScript。
創業者的最愛—— Ruby
Ruby 是科技初創公司最受歡迎的語言之一,許多矽谷獨角獸都建立在 Ruby 上,包括 Airbnb、Twitch、GitHub 和 Twitter。Ruby on Rails 是一個運行 Ruby 的完整 Web 應用程式框架,它也推動了 Ruby 的受歡迎程度。
同時,Ruby 也受到許多開發人員的青睞。首先,Ruby 有一個簡單漂亮的語法,可以讓開發人員用更少的代碼來做更多的事情。其次,Ruby on Rails 能讓 Web 應用程式比其他框架花費更少的時間運行起來。
但是 Ruby 缺乏可擴展性,它是一種動態類型的語言,非常靈活。不過隨著 Ruby 應用程式的增長,語言的動態性掩蓋了代碼錯誤的來源,並會大量消耗計算資源——這也是 Twitter 從 Ruby 切換到 Java 的原因。
Twitter 原來使用 Ruby,後來切換到 Java,這樣可以更容易地擴展
2018 年程式語言趨勢預測
根據前幾年的趨勢,我們確信頂級程式語言的榜單每年不會有太大的變化。那麼改變會發生在哪裡?
Kotlin、C 發展最快
TIOBE 每年都會盤點年度語言,近幾年的獲獎者是 Go(2016)、Java(2015)和 JavaScript(2014)。在 TIOBE 2017年度程式語言公布之前,Kotlin 曾與 C 一同成為了年度語言的候選者,雖然最終還是 C 獲勝,但不可否認,兩者都處於快速發展的階段——最古老的 C語言(1987年),最新的 Kotlin 語言(2011年) 。
Kotlin
對於靜態類型程式語言 Kotlin 來說,2017 年它經歷了一系列大事件:被命名為 Android 平臺的官方開發語言,不僅成為 Android 最受歡迎的移動開發平臺,它還是 Windows 桌面和 Linux 之後第三大最受歡迎的開發平臺。
Kotlin的受歡迎有幾個原因,其中最重要的是它與 Java 的100%互操作性,以及在 Java 虛擬機(Java 是另一種官方 Android 語言)上運行的事實。Kotlin 能編譯成 JavaScript,所以在前端和後端開發中很靈活。
C 語言
就像我們之前提到的那樣,C 是嵌入式系統的完美語言。而且 C 還是物聯網設備的頂級程式語言之一,包括可穿戴設備和汽車儀錶板。隨著更多的產品變得「聰明」,我們將看到 C 的使用必將繼續擴大。
本土語言將會有更多走向硬體的嘗試
程式語言的普及是一回事,但未來幾年中哪些語言將會帶來較大的影響?確定語言是否「有影響力」要查看構建於其上的技術,還要看這種語言解決固有軟體問題的能力。
摩爾定律指出,計算能力將每 18 個月翻一番,而且幾十年來這是計算機晶片製造商第一次沒有跟上計算能力的發展。這意味著軟體開發人員需要找出一種方法,以相同的計算處理能力來製作功能強大的 Web 應用程式。此外還需要考慮硬體的功耗問題,所以我們需要製造出儘可能高效的硬體和軟體。
事實證明,提高速度和響應速度的功能能夠編寫出更高效的代碼,而且我們可以預料到 Go、Swift、Rust 這樣的本土語言未來將會有更多走向硬體的嘗試。
JavaScript 將會失去價值?
那麼 2018 年哪些語言將開始失去價值? 「JavaScript。」
在過去的幾年中,Javascript 已經達到了極其受歡迎的程度,所以後續的發展軌跡確實有些無處可尋。
此外還有其他因素疊加在 JavaScript 上。首先,WebAssembly 的改進給開發者提供了更多的網絡語言選擇。也就是說,不久的將來很多語言都會有 WebAssembly 後端。之後 JavaScript 將開始死亡,因為人們將使用他們的首選語言進行客戶端 Web 開發。再加上 JavaScript 的使用混亂,一旦有了更好的 Web 選項,相信開發人員會很快拋棄它。
寫在最後
程式語言驅動的技術世界,機遇與挑戰並存。從機器學習到網絡安全、從網絡應用程式到電池供電,對於軟體開發人員來說,希望本文的趨勢預測能給你們帶來一些指導。
但是無論技術環境怎麼變,保持一顆學習進取的心是不會錯的,以下盤點了一些程式語言的學習資源,希望對你們來說有用:
Javahttps:///learn/learn-javahttps://stackify.com/content/java/Chttps:///https:///Programming-Language-2nd-Brian-Kernighan/dp/0131103628C++http:///https://hackr.io/tutorials/learn-c-plus-plusPythonhttps:///learn/learn-pythonhttps://stackify.com/best-developer-podcasts/C#https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169https:///JavaScripthttps:///learn/learn-javascripthttps://medium.com/coderbyte/50-resources-to-help-you-start-learning-javascript-in-2017-4c70b222a3b9
原文:Most Popular and Influential Programming Languages of 2018連結:>作者:BEN PUTANO編譯:言則
————— 推薦閱讀 —————