2020年什么编程语言最受欢迎,待遇最高?
比較編程語言是一件非常復(fù)雜的事,因此我們創(chuàng)作了很多好玩的圖片或段子用來表達(dá)對(duì)各種編程語言的定義,本文就以下圖開始吧:
?
編程語言是人類控制電腦的手段,所以絕大多數(shù)編程語言都試圖使這個(gè)過程更加強(qiáng)大和簡(jiǎn)單。也正因此這個(gè)領(lǐng)域誕生了數(shù)百種編程語言,不過其中許多編程語言目前已經(jīng)不再使用,還有一些可能在未來幾年里會(huì)過時(shí),然而還有很多語言將不斷發(fā)展,在目前以及未來都占有重要的位置。
本文將介紹處于頭部位置的編程語言的趨勢(shì),這些趨勢(shì)將在即將到來的 2020 年會(huì)繼續(xù)保持。
下面提供的兩個(gè)表格總結(jié)了過去五年(2015-2019)里編程語言的流行趨勢(shì)。該數(shù)據(jù)來自 2015-2019 年的 Stackoverflow 人氣調(diào)查。為了清楚準(zhǔn)確地理解,我們將編程語言分為兩組,第一組是 2000 年以前誕生的語言 ,第二組是 2000 年以后誕生的語言 。將 2000 年作為邊界是隨機(jī)的選擇,但對(duì)于理解這兩組編程語言的趨勢(shì)非常有幫助。該表還列出了這些編程/腳本語言的起源年份和主要應(yīng)用領(lǐng)域。
?
觀察結(jié)果
除了 Python 之外,從 2018 年到 2019 年所有語言的流行度都在下降。
Python
Python 是過去五年來人氣不斷上升的唯一語言。這是一門通用語言,如果你希望在 2020 年只學(xué)習(xí)一門編程語言,并希望涵蓋更廣泛的軟件開發(fā)領(lǐng)域,不妨考慮 Python。
Java
Java 的市場(chǎng)占有率一直在不斷上升,但在 2019 年有所下降,原因是背靠 Google 的 Kotlin 在 Android 開發(fā)領(lǐng)域獲得了極大的普及。毫無疑問 Java 是一個(gè)不錯(cuò)的選擇,但它現(xiàn)在屬于 Oracle 公司,由于公司的商業(yè)利益沖突,谷歌正在推廣 Kotlin。事實(shí)上,由于使用 Java 的龐大開發(fā)群體、框架和遺留應(yīng)用程序,大量公司仍在使用 Java 并將繼續(xù)使用 Java。
C/C++
C 和 C++ 仍然保持著大約 20% 的市場(chǎng)占有率,并且由于其固有的功能和遺留系統(tǒng),它將會(huì)繼續(xù)存在。
JavaScript
JavaScript 的受歡迎程度可歸因于諸如 Node.js 等流行的 JavaScript 庫(kù)和框架的增長(zhǎng)。JavaScript 是用于構(gòu)建動(dòng)態(tài)網(wǎng)站的語言,它將成為未來幾年 Web 開發(fā)的首選語言。而且,如果我們想要進(jìn)行 Web 開發(fā),絕對(duì)無法繞開 JavaScript。
R 語言
R 語言近年來越來越受歡迎,原因在于數(shù)據(jù)分析需求的增長(zhǎng)和普及。R 語言主要是數(shù)據(jù)科學(xué)家在使用,與 Python 這種通用語言相比,它擁有貢獻(xiàn)了大量數(shù)據(jù)科學(xué)庫(kù)和模塊的活躍開發(fā)者。不過如果只能選一個(gè)的話,相信更多的數(shù)據(jù)科學(xué)家會(huì)傾向于 Python。
Ruby
與 PHP 一樣,在 Web 開發(fā)的后端構(gòu)建方面,Ruby 也面臨來自 JavaScript 甚至 Python 的激烈競(jìng)爭(zhēng)。因此,對(duì)于 Web 開發(fā)而言,JavaScript 和 Python 會(huì)是比 Ruby 更好的選擇(Python 的服務(wù)端框架 Flask 和 Django),而且更加靈活。
PHP
2019 年,PHP 流行度急劇下降,這可以追溯到服務(wù)器端對(duì) JavaScript 和 Python 的接受程度。如果有人想要進(jìn)行服務(wù)器端 Web 開發(fā),PHP 仍然是一個(gè)很好的選擇 —— 有大量流行的框架,如 CakePHP,Codeigniter 等,否則選擇通用編程語言會(huì)更好。
Objective-C
在 Apple 遷移到 Swift 語言之前,Objective-C 是開發(fā) Apple 軟件(如 macOS,iOS 等平臺(tái))的主要語言。因此,這種轉(zhuǎn)變反映在兩種語言的流行中,即 Objective-C 的受歡迎程度下降,而 Swift 的普及率正在上升。所以,如果有人希望成為 Apple 產(chǎn)品的開發(fā)者,Swift 理所當(dāng)然應(yīng)該是首選語言。
?
觀察結(jié)果
Swift
Swift 取代了 Objective-C 作為 Apple 相關(guān)軟件和應(yīng)用程序開發(fā)的主要語言。由于 Apple 的支持推廣,因此自成立以來 Objective-C 的受歡迎程度越來越高,Apple 也將繼續(xù)使用它。如果有人正在尋找特定于 Apple 的開發(fā)平臺(tái),那么 Swift 將成為一種必須知道的編程語言。不過 Swift 主要是面向特定供應(yīng)商和產(chǎn)品的語言,在 Apple 生態(tài)系統(tǒng)之外的使用率非常低。
Go
Google 不斷地在維護(hù)、使用和推廣 Go 語言。而它最初的開發(fā)動(dòng)機(jī)是解決對(duì)一些流行語言的不足,同時(shí)將最好語言的特性集于一身。自 2017 年以來,Go 的受歡迎程度越來越高,并且在 Google 的支持下,它在未來幾年內(nèi)都將會(huì)繼續(xù)保持高速發(fā)展。Google 也將 Go 作為新項(xiàng)目的主要語言并用 Go 取代其他語言,這種趨勢(shì)在未來幾年會(huì)繼續(xù)保持,因此如果想學(xué)習(xí)一門新的編程語言,Go 值得擁有。
Kotlin
Kotlin 最初作為用于 Android 開發(fā)的 Java 替代方案而迅速“上位”。憑借著 Android 的增長(zhǎng)、Google 的支持以及其簡(jiǎn)潔的語法,它成為了 Android 開發(fā)者的一個(gè)可選方案,更是學(xué)習(xí) Android 開發(fā)的不錯(cuò)選擇。Kotlin 將成為 Android 開發(fā)的“最優(yōu)”方案。
Scala
Scala 試圖取代 Java,但開發(fā)者似乎不太認(rèn)可。它沒有來自任何大公司的大力支持,另外,由于 Scala 是一門函數(shù)式編程語言,以及對(duì) JVM 的依賴,使得它并沒有得到太多的普及,雖然會(huì)有穩(wěn)定的增長(zhǎng),但速度很慢,而且肯定不是適合初學(xué)者學(xué)習(xí)的語言。
Julia
Julia 旨在將 C 的速度和 Python 的簡(jiǎn)便集成在一起,但奇怪的是,在 Stackoverflow 調(diào)查中并沒有體現(xiàn) Julia 的受歡迎程度,但它在數(shù)據(jù)科學(xué)領(lǐng)域頗受歡迎,并且從長(zhǎng)遠(yuǎn)來看它也被視為 R 和 Python 的挑戰(zhàn)者。當(dāng)然,Julia 會(huì)繼續(xù)增長(zhǎng),但對(duì)于工作和成長(zhǎng)來說,Python 或 R 更好。
C#
C# 是用于 .NET 框架的編程語言,由微軟開發(fā)。它的受歡迎程度在過去幾年中基本保持不變,并將繼續(xù)保持類似的趨勢(shì)。這是特定于供應(yīng)商的語言,因此如果需要在微軟提供的開發(fā)環(huán)境中工作,可以選擇此語言。最近,微軟已開源 .NET,因此它會(huì)出現(xiàn)一些上升趨勢(shì),但它畢竟是特定于供應(yīng)商的,因此不會(huì)受到太大影響。
Rust
Rust,Clojure 等是具有用戶基礎(chǔ)但不那么流行的語言,所以人氣方面不會(huì)有太大的上升。
一圖勝千言
要了解頭部編程語言增長(zhǎng)的清晰趨勢(shì)和現(xiàn)狀,可通過各種圖表來了解它。下圖描繪了一個(gè)非常清晰的現(xiàn)狀,即在舊的語言棧中,JavaScript 遠(yuǎn)遠(yuǎn)領(lǐng)先于其他的語言,并且將繼續(xù)在 Web 開發(fā)中占據(jù)一席之地。C 和 C++ 共同與 Java 競(jìng)爭(zhēng),并且非常接近后者的地位。Python 的受歡迎程度也越來越高,而且在過去的五年里,它是唯一一個(gè)人氣不斷上升的語言。
?
?
新語言越來越流行,其中大多數(shù)語言都受到跨國(guó)公司如微軟、Google 和 Apple 等 IT 巨頭的支持。
開發(fā)者喜歡和希望學(xué)習(xí)的語言
?
?
從上面的表格和圖表我們可以看到,喜歡 Rust 的人數(shù)在過去五年中正在逐步增長(zhǎng),而 Swift 慢慢失去了開發(fā)者的喜愛,Python 則處于這兩者之間。另一個(gè)獨(dú)特的觀察結(jié)果是,開發(fā)者喜愛的 5 門語言中有 4 門來自 2000 后誕生的編程語言,且只有 Python 是較舊的語言,對(duì) Kotlin 的喜愛則是從 2017 年 Google 官方支持它作為 Android 開發(fā)的一級(jí)語言開始。
?
從上表可以看出,開發(fā)者使用 JavaScript 和 Python 進(jìn)行開發(fā)的愿望在過去幾年中不斷增長(zhǎng),這反映了大眾對(duì)這兩門語言的喜愛。另外,Java 在這方面的數(shù)據(jù)則出現(xiàn)了急劇下降的趨勢(shì),這是因?yàn)?Kotlin 成為了 Android 開發(fā)的替代方案,以及 Oracle 對(duì)使用 Java 的政策發(fā)生了變化。
?
技術(shù)和編程語言
?
在此圖中,我們可以看到最大的簇集是 Web 開發(fā)和 JavaScript 以及它們的各種框架。第二大簇集是微軟技術(shù)和 Python 技術(shù),這里又再次印證開發(fā)者對(duì)該語言的歡迎和熱愛。其中 Python 技術(shù)的簇集主要與數(shù)據(jù)科學(xué)技術(shù)相關(guān),這些技術(shù)與 Python 的增長(zhǎng)息息相關(guān)。
TIOBE 指數(shù)
用于對(duì)編程語言進(jìn)行排名的 TIOBE 指數(shù)基于搜索引擎的搜索結(jié)果。在 TIOBE 指數(shù)中, Java 在過去二十年中一直占據(jù)主導(dǎo)地位,C 在過去三十年里也一直保持著第一或者第二的位置。而在過去的二十年里, Python 的排名飛速增長(zhǎng),從 1999 年的第 24 名,到 2019 年的第 3 名。
?
在新語言(2000 年后誕生)中,Rust 的排名上升明顯,從第 33 位升至第 28 位,Julia 也從第 50 位升至第 39 位。值得注意的是,Kotlin 似乎從未進(jìn)入過前 20 名。
PYPL 指數(shù)
PYPL 指數(shù)的來源主要是通過分析語言在 Google 上的搜索頻率。被搜索得越多意味著該語言就越受歡迎。原始數(shù)據(jù)來自 Google Trends。
由下圖可見,TOP 3 的編程語言分別是 Python, Java 和 JavaScript。C#, PHP 和 C/C++ 也處于頭部位置,這種趨勢(shì)類似于 Stackoverflow 的語言流行度和 TIOBE 指數(shù)。
?
上圖顯示,在新的編程語言中,即 2000 年后誕生的 Kotlin, Go, Rust 和 Julia,它們的排名也在不斷上升。
?
就業(yè)市場(chǎng)與薪酬
薪酬取決于產(chǎn)品的地理區(qū)域和需求,基于編程語言的薪資比較只是預(yù)測(cè)或估計(jì)薪資趨勢(shì)的工具。我們根據(jù)編程語言的流行調(diào)查對(duì)薪資進(jìn)行了匯總,即 2018 年的 Dice 薪資調(diào)查和 2018 年和 2019 年的 Stackoverflow 薪資調(diào)查。
如果大家對(duì)C/C++感興趣的話,可以加一下我們的學(xué)習(xí)交流Q群:637 ?935 ?295,免費(fèi)領(lǐng)取一套學(xué)習(xí)資料和視頻課程喲~
從上表可以看出,Go 開發(fā)是市場(chǎng)上薪酬非常高的工作,在 2019 年的 Stackoverflow 調(diào)查和 2018 年 Dice 薪資調(diào)查中,它都在高薪工作中排名第一。原因其實(shí)很簡(jiǎn)單,因?yàn)?Go 是 Google 支持的語言,主要用于 Google 內(nèi)部,另外 Google 希望推廣這種語言所以自然會(huì)用高薪來吸引開發(fā)者。
這里要提一個(gè)經(jīng)濟(jì)術(shù)語 —— 價(jià)格彈性,企業(yè)對(duì)崗位的需求具有彈性,這就導(dǎo)致崗位的薪酬不穩(wěn)定。因此很明顯,全球平均工資不是選擇語言的合理因素。假如存在一門接近衰亡的編程語言,但應(yīng)用它的遺留系統(tǒng)很少,因此為了維護(hù)這些產(chǎn)品,公司往往提供非常高的薪酬,不過這些職位總是十分稀有。另一方面,由于主流語言提供了大量的工作崗位,平均工資自然就會(huì)下降。
作為結(jié)束語,可以看到預(yù)測(cè)編程語言的趨勢(shì)十分簡(jiǎn)單,但只選擇一門語言來學(xué)習(xí)是一個(gè)非常艱難的抉擇,這完全取決于個(gè)人選擇和他們未來的計(jì)劃。例如,如果你想從事 Web 開發(fā)工作,那么你就不能忽視 Javascript;如果你想從事 Apple 產(chǎn)品的開發(fā)工作,絕對(duì)不能無視 Swift;如果你青睞于系統(tǒng)的底層開發(fā),那么 C 和 C++ 會(huì)是你的好朋友。Python 則會(huì)讓你在很多領(lǐng)域跑得更快,不過目前主要用于數(shù)據(jù)科學(xué)。所以,每種語言都會(huì)帶您踏上不同的旅程。選擇目的地,你需要做的就是使用通往終點(diǎn)的語言。
總結(jié)
以上是生活随笔為你收集整理的2020年什么编程语言最受欢迎,待遇最高?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动平衡男女比例的随机分组软件B2G使用
- 下一篇: Python自动化面试常见的编程题及答案