【導(dǎo)讀】Go 語言簡單易學(xué)、性能優(yōu)良。JetBrains Blog 發(fā)布了Go 語言的調(diào)查報告,看看GO 語言當(dāng)前趨勢吧!
在當(dāng)今流行的編程語言中,Go 語言獨(dú)樹一幟,因為其簡單易學(xué)、性能強(qiáng)勁且原生支持并發(fā)的特點,深受開發(fā)者的青睞。Go 語言在技術(shù)網(wǎng)站 Stack Overflow 上的關(guān)注度也在逐年上升:
近日,JetBrains Blog 針對 Go 語言開發(fā)者的做了一項調(diào)查報告,從報告中我們發(fā)現(xiàn):
全世界有 110 萬專業(yè)開發(fā)者選擇 Go 作為其主要開發(fā)語言,其中中國占比最高;
Go 語言份額持續(xù)增長,已成為專業(yè)開發(fā)者的前 10 大主要語言之一;
Go 語言使用場景中,36% 是 Web 服務(wù),31% 是小型程序的開發(fā);
越來越多的金融行業(yè)在接觸 Go 語言,甚至有銀行使用 Go 構(gòu)建了整個系統(tǒng)。
為什么 Go 語言在中國這么火?
調(diào)查結(jié)果顯示,在全球范圍內(nèi)有 110 萬專業(yè)開發(fā)者選擇 Go 作為其主要開發(fā)語言。如果把以其他編程語言作為主要開發(fā)語言,同時也在使用 Go 的開發(fā)者計算在內(nèi),這一數(shù)字將高達(dá) 270 萬。
就分布情況而言, 來自亞洲的 Go 語言開發(fā)者數(shù)量最多,大約有 57 萬。
下圖顯示了使用 Go 作為主要語言的開發(fā)者所在國家的分布情況,中國的 Go 語言開發(fā)者占比最高,占比 16%。
中國之所以排在首位,或是因為中國開發(fā)者總數(shù)非常多。像 PingCAP、騰訊和華為都有數(shù)萬開發(fā)者,Go 語言能夠支持并構(gòu)建與微服務(wù)結(jié)合的內(nèi)部工具、架構(gòu)和后端服務(wù),這一點很關(guān)鍵。而俄羅斯的 Go 語言社區(qū)也相當(dāng)出色,Go 在那里深受歡迎是一件很自然的事。
Go 進(jìn)入編程語言排名前十,占比 7%
自 2009 年推出以來,Go 語言一直在持續(xù)增長。根據(jù)調(diào)查,Go 語言已經(jīng)成為 2020 年專業(yè)開發(fā)者的前 10 大主要語言之一,占據(jù)來 7% 的份額。
在 JetBrains 《2020 開發(fā)者生態(tài)系統(tǒng)現(xiàn)狀》報告中顯示,有 16% 的 JavaScript 開發(fā)者計劃遷移并轉(zhuǎn)而采用 Go 語言。反觀在 Go 開發(fā)群體中,沒有采用/遷移其他編程語言的用戶高達(dá) 59%,穩(wěn)定性最強(qiáng)。
與 PHP 相比,Go 的優(yōu)勢在于類型安全,因為 Go 是靜態(tài)類型的語言,而 PHP 是動態(tài)的。這意味著由編譯器將完成大部分工作,確保編寫的代碼將在運(yùn)行時能夠正常地編譯和運(yùn)行。與 C++ 相比,Go 的優(yōu)勢在于簡單。Go 語言中,一切都很直觀。
Go 還有一個特點,就是在編寫代碼和運(yùn)行時都具有很高的內(nèi)置速度,Go 語言可以沒有任何特殊優(yōu)化的情況下獲得 5-10 倍于平均編程語言的性能提升,這對企業(yè)而言是很關(guān)鍵的生產(chǎn)力優(yōu)勢。同時它簡單,易于上手,并且很容易替換現(xiàn)有項目中的微服務(wù)。
許多 IT 架構(gòu)工具由 Go 構(gòu)建而成,例如大型的 Kubernetes、Docker 和 Vault 等。盡管有許多公司在使用 Java,但這些公司也大都會有一個團(tuán)隊運(yùn)行 Go 語言環(huán)境,特別是針對項目的修補(bǔ)和維護(hù)。
這或許也是 Go 語言在逐步被更多的人所接受的一個原因,在公共基礎(chǔ)架構(gòu)和部署中使用得越多,Go 的使用增長就越快。
因此,未來幾年還會有越來越多的人開始使用 Go,其比例可能會達(dá)到總數(shù)的 15-20%。在調(diào)查中的“您計劃在今后一年內(nèi)采用或遷移到其他語言嗎?如果有,是哪些語言?”這個問題里,有 13% 的受訪者回答了 Go。
Go 語言最受歡迎的領(lǐng)域是 Web 服務(wù)
調(diào)查結(jié)果顯示,Web 服務(wù)在 Go 語言開發(fā)中的占比達(dá)到了 36%。對于 Web 服務(wù),首要任務(wù)是創(chuàng)建快速的 API 服務(wù)器,它們不一定需要框架,而使用 Go 語言可以快速啟動和運(yùn)行。
在常用 Go 語言的應(yīng)用領(lǐng)域中,針對第二大應(yīng)用場景 Utilities(小程序)的開發(fā)上,Go 語言有不小的優(yōu)勢,它能輕松實現(xiàn)處理大量數(shù)據(jù)的快速應(yīng)用、小型實用程序應(yīng)用或需要大量功能的一次性任務(wù)。
其次,26% 的開發(fā)者表示經(jīng)常在 IT 架構(gòu)中使用 Go。采用 Docker 和 K8s 的人越多,使用 Go 的人就越多,因為它們都是用 Go 編寫的。任何類型的 DevOps 工作都可以從 Go 中受益,因為 Go 提供了類型安全和更快的速度。
使用 Go 語言與云服務(wù)的進(jìn)行結(jié)合也非常容易——Google、 Amazon 以及 Azure 等都有很好的 SDK。當(dāng)未來泛型到來之后,“Libraries / Frameworks” 類的份額還會有一定提升。
Go 語言主要被用在 IT 和金融行業(yè)
根據(jù)調(diào)查,使用 Go 語言的開發(fā)者主要從事 IT 服務(wù)和金融科技,其次是云計算平臺和其它行業(yè)。
IT 服務(wù)排第一理所應(yīng)當(dāng),而越來越多的金融行業(yè)也在接觸 Go 語言?,F(xiàn)在已經(jīng)有相當(dāng)數(shù)量的銀行已經(jīng)采用或正在使用 Go 語言開發(fā)的基礎(chǔ)架構(gòu),英國的 Monzo 銀行使用 Go 構(gòu)建了整個系統(tǒng)。云計算平臺排第三也很合理,因為它們很多應(yīng)用程序都是以 Go 編寫的。
移動開發(fā)排第五是在人意料之外的,要知道 Go 并沒有良好的移動開發(fā)的歷史。還有幾個行業(yè)的 Go 語言使用率預(yù)見在短期內(nèi)不會出現(xiàn)增長,例如基于機(jī)器學(xué)習(xí)的領(lǐng)域,那是 Python 的強(qiáng)項。Go 語言的機(jī)器學(xué)習(xí)也在朝著更普及、更優(yōu)良的方向前進(jìn),但至少還要再過幾年才能真正看到成果。
Go 語言工具的使用情況
Go 語言開發(fā)者最喜愛的軟件包管理器是 Go Modules,調(diào)查顯示,其采用率從 2019 年的 41% 上升至 2020 的 82%。在某種程度上,這已經(jīng)沒有疑問了,因為 Go Modules 已經(jīng)被設(shè)置為標(biāo)準(zhǔn)默認(rèn)模型,并且 Go 團(tuán)隊也想棄用 GOPATH,甚至其它的都可能會被淘汰。
自 2018 年以來,Gorilla / Mux 和標(biāo)準(zhǔn)庫始終是最常用的 Go 路由器。標(biāo)準(zhǔn)庫之所以如此受歡迎,可能是因為無論在 Reddit、Slack 還是其他地方,人們通常都會建議堅持使用標(biāo)準(zhǔn)庫,不到萬不得已不會換用其他東西。
Gorilla / Mux 因為在標(biāo)準(zhǔn)庫的基礎(chǔ)上更加抽象,且性能不會受太多影響,它使編寫服務(wù)器更容易,也是最接近標(biāo)準(zhǔn)庫的一個。
根據(jù)調(diào)查,自 2018 年以來,Gin 的使用量幾乎翻了一番,而其他 Web 框架基本保持穩(wěn)定。Gin 在 Web 上如此受歡迎,可能因為它是一個快速框架,得到了很好的推薦,同時也是最古老的框架之一,所以有很多現(xiàn)成的文檔,很多用戶都在使用和推薦它。
使用內(nèi)置測試的開發(fā)者比例從 2018 年的 64% 下降到 2020 年的 44%,而其他測試框架的使用量略有增長。內(nèi)置測試占比很高,是因為 Go 標(biāo)準(zhǔn)庫有一個非常好的開箱即用的測試庫,它的下降可能是因為越來越多的人轉(zhuǎn)移自其他語言,比如 PHP,他們更傾向于重復(fù)他們已有的測試習(xí)慣。
小結(jié)
使用 Go 語言的開發(fā)者數(shù)量相比 C++ 和 Java 等傳統(tǒng)語言少,有 38% 的開發(fā)者了解 Java,19.3% 的開發(fā)者了解 C++,僅有 4.6% 的開發(fā)者知道 Go。
但 Go 語言的使用者多年來始終在持續(xù)增長,Stack Overflow 2020 調(diào)查顯示,開發(fā)者最希望學(xué)習(xí)的編程語言里 Go 語言位列前三。Hacker Rank 的調(diào)查顯示,Go 連續(xù) 3 年榮登開發(fā)人員最想要學(xué)習(xí)的語言第一名。
于此同時,Go 語言開發(fā)者的薪資也水漲船高。據(jù)職友集統(tǒng)計,中國 Go 語言開發(fā)工程師的平均月工資為 21.8k 。從全球范圍來看,Go 語言的開發(fā)者的薪酬也是位列前茅,結(jié)合其并不高的聲量和使用率,可以說是「悶聲賺大錢」了。
編輯:lyn
-
IT
+關(guān)注
關(guān)注
2文章
865瀏覽量
63523 -
go語言
+關(guān)注
關(guān)注
1文章
158瀏覽量
9050
原文標(biāo)題:揭曉 Go 語言真實現(xiàn)狀!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論