每日最新頭條.有趣資訊

2020年最具“錢途”的編程語言

作者 | AJIT KUMAR

譯者 | 薑雨生

編輯 | Natalie

編程語言是人們指導或控制機器的工具,其開發目的在於讓操控機器的過程更加簡單和順暢。正因如此,數百種編程語言應運而生。然而,它們的命運卻各不相同。一些語言已不複使用,或將在未來幾年淘汰。相應地,一些語言將會被充分使用,還有一些嶄新的編程語言正在逐漸被人們所接受。

本文選取真實可信的調查、統計數據、搜索結果以及薪資等數據,預測 2020 年編程語言的發展趨勢。這篇文章將幫助初學者選擇適合自己的入門語言,並指導資深人士在切換語言和繼續使用當前語言之間作出選擇。

我通過兩個表格總結了過去五年間編程語言的潮流趨勢。相關數據來源於 2015—2019 年 Stack Overflow 的調查結果。為了幫助讀者更加準確地理解,我將編程語言分為兩組,第一組是 2000 年以前推出的編程語言,第二組是 2000 年以後推出的語言。雖然選擇 2000 年作為劃分界限是隨機的,但這對於理解兩組語言的發展趨勢非常有幫助。表格還列出了這些編程 / 腳本語言的起源年份與主要用途。

觀察結果

從 2018 年到 2019 年,除了 Python 以外,所有語言的流行度都在下滑。

Python

Python 是過去五年以來唯一不斷上升的語言。它是一種通用語言。如果有人希望在 2020 年隻學習一門編程語言,並想涵蓋更多的軟體開發領域,可以選擇 Python。

Java

Java 一直在上升,但在 2019 年有所下降,原因是 Kotlin 在 Android 平台上的普及。Java 現在屬於 Oracle,而谷歌正在推廣 Kotlin,因此 Java 面臨著很大的挑戰。事實上,由於其開發人員基礎、框架和遺留應用程序,大量正在使用 Java 的公司仍會繼續使用 Java。

C/C++

C 和 C++ 仍佔有約 20% 的比例,由於其固有的功能和遺留系統,它將會一直存在。

JavaScript

JavaScript 的受歡迎程度,可歸因於流行的 JavaScript 庫和 node.js 等框架的發展。JS 是動態網站的語言。由於其活躍的開發者、Mozilla 的支持以及對庫和框架,它將成為未來幾年開發人員的首選。如果有人想要進行 Web 開發,Javascript 幾乎是必備的。

R

由於數據分析的增長和普及,近年來,R 越來越受歡迎。但與作為通用語言的 Python 相比,它落後許多,因為 Python 擁有大量數據科學庫和模塊的活躍開發人員。因此,如果必須選擇一個,可以選擇 Python 而不是 R。但如果你希望在數據科學中有所建樹,那麽同時學習兩門語言將是最理想的選擇。

Ruby

與 PHP 一樣,Ruby 作為建立後端 Web 開發的編程語言,也面臨來自 JavaScript 甚至 Python 的競爭壓力。因此,對於 Web 開發來說,Javascript 和 Python 將是一個不錯的選擇,並將提供比 Ruby 更好的靈活性。

PHP

2019 年,PHP 的流行度急劇下降,這可以追溯到伺服器端對 Javascript 和 Python 的接受。但如果有人想要進行伺服器端 Web 開發,PHP 仍是一個很好的選擇,因為它有大量流行的框架,如 CakePHP,Codeigniter 等。對於其他類型的開發,選擇通用編程語言會更好。

Objective-C

在 Apple 轉向到 Swift 之前,Objective-C 是 Apple 軟體(如 MacOS,iOS 等)的主要語言。根據流行程度數據,Objective-C 的受歡迎程度在下降,而 Swift 則在上升。因此,如果有人想成為 Apple 的開發者,Swift 應該是首選語言。

觀察結果

Swift

Swift 已經取代了 Objective-C 作為 Apple 相關軟體和應用程序的主要語言。由於蘋果公司的支持和推廣,從誕生到現在,它的受歡迎程度不斷提高,而且蘋果公司還將繼續推廣,所以如果有人正在尋找蘋果公司特有的開發工作,那麽 Swift 將是他必須知道的編程語言。這門語言主要針對特定的供應商和產品,所以很少在蘋果生態系統之外使用。

Go

Go(Golang)在維護、使用和推廣方面越來越受到 Google 的歡迎。其開發目在於解決一些流行語言的問題,並吸收各種語言的精華。自 2017 年以來,Go 的人氣不斷上漲。在谷歌的支持下,它還將持續這一趨勢。在未來幾年,Go 將變得越來越易用,因此可以選擇 Go 作為一門新的學習對象。

Kotlin

Kotlin 正在成為替代 Java 的 Android 開發語言,它也受到了谷歌的支持和推動,逐漸受到開發者的青睞,在近年來越來越受歡迎。隨著 Android 的發展,Google 的支持,它將成為 Android 開發人員和學習者的理想選擇。Kotlin 將成為 Android 開發中的一門傑出的編程語言。

Scala

Scala 在試圖替代 Java,然而在開發人員中並沒有取得很好的效果。它沒有來自任何跨國公司的大力支持,被認為是一種函數式語言,對 JVM 的依賴並沒有提供太大的普及空間。它可能會有穩定的增長,但速度很慢,並且肯定不是初學者學習語言的好選擇。

Julia

Julia 旨在擁有 C 語言的速度和 Python 的簡單。奇怪的是,它在 Stackoverflow 的調查中並沒有受到關注。但它在數據科學領域很受歡迎,並且從長遠來看被視為 R 和 Python 的挑戰者。雖然,Julia 會有增長,但 Python 或 R 更適合工作和發展。

C

C#是 .NET 框架的語言,由 Microsoft 開發。它的受歡迎程度在過去幾年幾乎保持不變,並將繼續保持這一趨勢。這是特定於供應商的語言,因此如果想要在 Microsoft 開發環境中工作,可以選擇該語言。最近,微軟已開源 .NET 的源代碼,所以會有一些上升趨勢,但它同樣是特定於供應商的,所以不會受到太大影響。

Rust

Rust、Clojure 等語言都有用戶基礎,但並不那麽受歡迎,所以肯定不會有上升趨勢。

千言萬語匯成一張圖

讓我們通過圖表更清晰地了解頂級編程語言的發展趨勢。在舊的語言堆棧中,JavaScript 遠遠領先於其他語言,(這要歸功於 Web 開發領域的快速發展),然後 C 和 C++ 一起與 Java 進行競爭,結果漸漸接近。在過去五年中,Python 的流行度一直在上升,而且是唯一一門流行度不斷上升的語言。新的語言越來越受歡迎,其中大部分語言都得到了跨國公司的支持,如微軟、谷歌和蘋果等 IT 巨頭。

喜歡和受歡迎的編程語言

從上面的表圖中可以看出,在五種受人喜愛的語言中,有四種來自 2000 年後的小組,只有 Python 是較老的語言,人們對 Kotlin 的喜愛是從 2017 年後 Android 開發添加 Kotlin 開始的。

從上表可以看出,人們對 Javascript 和 Python 的開發意願在過去幾年不斷增長。Java 的數量急劇下降,這是因為 Kotlin 成為了 Android 應用程序開發的替代品。此外,Java 的擁有者 Oracle 改變了一些策略。

技術與編程語言的關係

從圖中可以看出,最大的集群是用於 Web 開發和 JavaScript 的,它的各種框架主導著集群,這就是 JavaScript 增長的 USP。第二大集群是由微軟技術和 Python 技術組成的,這些技術再次證明了該語言的流行。Python 集群與數據科學技術相結合,突出了 Python 的發展歷程。

TIOBE 指數

TIOBE 指數是根據搜索結果得出的編程語言排名。它通過計算最受歡迎的搜索引擎的點擊量來計算評級。使用的搜索查詢是 +“ programming”。在 TIOBE 指數中, Java 在過去二十年間始終佔據主導地位。而 C 在過去三十年始終保持著第一或第二的位置。Python 在過去二十年裡取得了長足的進步,從 1999 年的第 24 位躍升到 2019 年的第 3 位。如果將 C 和 C++ 的結果合並,那麽它將永遠佔據第一的位置。

在新的語言(2000 年後)中,Rust 的排名有所提升,從第 33 位升至第 28 位。Julia 從第 50 位升至第 39 位。值得注意的是,Kotlin 似乎並未進入前 20 名。

PYPL 指數

PYPL 指數 是通過分析編程語言教程在谷歌的搜索頻率得出的。某一語言教程被搜索得越多,就越受歡迎。這是一個主要指標,原始數據來自 Google Trends。

下圖表明了最受歡迎的三種語言分別是 Python、Java 和 JavaScript。C#、PHP、C / C ++ 也處於很安全的位置,這種趨勢類似於 Stack Overflow 和 TIOBE 指數。

上圖顯示,2000 年後出現的新編程語言中,Kotlin、Go、Rust 和 Julia 均在排名中上升。

就業市場與薪酬

薪酬取決於產品的地理區域和需求,基於編程語言的薪資比較只是預測或估計薪資趨勢的工具。我們根據目前主流的調查(2018 年的 Dice 薪資調查、2018 年和 2019 年的 Stack Overflow 調查)匯總了各種編程語言的薪資,具體如下:

從上表可以看出,Go / Golang 在就業市場上是一項薪酬非常高的工作,在 Stack Overflow 2019 Survey 和 Dice Salary Survey 2018 的調查中排名第一。原因很簡單,Go 是谷歌支持的語言,其薪資可以與谷歌的薪資聯繫起來。有一點要清楚,那就是價格彈性。它是一個經濟術語,提供了不同場景對價格的影響。例如,產品數量少,價格上漲;產品可用性高,價格下跌。所以顯然,全球平均工資並不完全是你選擇語言的依據。例如,一種瀕臨滅絕的編程語言,仍會有少數遺留系統,因此維護這些系統的公司往往會提供高昂的薪酬,但這些語言所提供的職位數量總是很少。主流語言提供了大量工作崗位,所以平均工資會有所下降。

總而言之,語言趨勢是很容易預測的,但選擇一門語言學習是一個非常艱難的過程,完全取決於個人的未來規劃。如果你想做 Web 開發,那就不能忽視 JavaScript;如果你想研發 Apple 的產品,你就不能忽視 Swift;如果你的興趣是系統級編程,那麽 C 和 C ++ 是你的首選;Python 可以讓你在很多領域前進得更快,但目前主要應用於數據科學。每一種語言都將帶你踏上不同的旅程。所以,請記住,首先確定你的目的地,然後再選擇適合這條道路的編程語言,馳騁世界。

https://codinginfinite.com/top-programming-languages-2020-stats-surveys

美團外賣日單量超過 3000W,擁有近百萬騎手數量,是全球最大的即時配送網絡。與大多數互聯網企業線上業務為主的模式不同,配送系統需要在現實世界中的真實環境和真實場景中“運行”,最大的挑戰是需要對騎手所在的環境和場景做到實時感知、準確理解和最優決策,這也是近幾年行業經常說的“數字化”和“智能化”技術。

點個在看少個 bug

獲得更多的PTT最新消息
按讚加入粉絲團