編譯 | 李磊 責編 | 張文
出品 | CSDN(ID:CSDNnews)
在當今流行的編程語言中,Go 語言獨樹一幟,因為其簡單易學、性能強勁且原生支持并發(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 服務,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ù)字將高達 270 萬。
就分布情況而言, 來自亞洲的 Go 語言開發(fā)者數(shù)量最多,大約有 57 萬。
下圖顯示了使用 Go 作為主要語言的開發(fā)者所在國家的分布情況,中國的 Go 語言開發(fā)者占比最高,占比 16%。
中國之所以排在首位,或是因為中國開發(fā)者總數(shù)非常多。像 PingCAP、騰訊和華為都有數(shù)萬開發(fā)者,Go 語言能夠支持并構(gòu)建與微服務結(jié)合的內(nèi)部工具、架構(gòu)和后端服務,這一點很關(guān)鍵。而俄羅斯的 Go 語言社區(qū)也相當出色,Go 在那里深受歡迎是一件很自然的事。
Go 進入編程語言排名前十,占比 7%
自 2009 年推出以來,Go 語言一直在持續(xù)增長。根據(jù)調(diào)查,Go 語言已經(jīng)成為 2020 年專業(yè)開發(fā)者的前 10 大主要語言之一,占據(jù)來 7% 的份額。
人們通常不會以 Go 作為第一門編程語言,而傾向于從其他語言(如 PHP 和 Ruby)遷移到 Go,也有很多人從 C++ 和 C# 遷移到 Go,也正如此前 CSDN 曾報道的《50 歲老碼農(nóng):Python Bug 太多,我選 Rust 和 Go!》的經(jīng)歷相類似。
在 JetBrains 《2020 開發(fā)者生態(tài)系統(tǒng)現(xiàn)狀》報告中顯示,有 16% 的 JavaScript 開發(fā)者計劃遷移并轉(zhuǎn)而采用 Go 語言。反觀在 Go 開發(fā)群體中,沒有采用/遷移其他編程語言的用戶高達 59%,穩(wěn)定性最強。
與 PHP 相比,Go 的優(yōu)勢在于類型安全,因為 Go 是靜態(tài)類型的語言,而 PHP 是動態(tài)的。這意味著由編譯器將完成大部分工作,確保編寫的代碼將在運行時能夠正常地編譯和運行。與 C++ 相比,Go 的優(yōu)勢在于簡單。Go 語言中,一切都很直觀。
Go 還有一個特點,就是在編寫代碼和運行時都具有很高的內(nèi)置速度,Go 語言可以沒有任何特殊優(yōu)化的情況下獲得 5-10 倍于平均編程語言的性能提升,這對企業(yè)而言是很關(guān)鍵的生產(chǎn)力優(yōu)勢。同時它簡單,易于上手,并且很容易替換現(xiàn)有項目中的微服務。
許多 IT 架構(gòu)工具由 Go 構(gòu)建而成,例如大型的 Kubernetes、Docker 和 Vault 等。盡管有許多公司在使用 Java,但這些公司也大都會有一個團隊運行 Go 語言環(huán)境,特別是針對項目的修補和維護。
這或許也是 Go 語言在逐步被更多的人所接受的一個原因,在公共基礎(chǔ)架構(gòu)和部署中使用得越多,Go 的使用增長就越快。
因此,未來幾年還會有越來越多的人開始使用 Go,其比例可能會達到總數(shù)的 15-20%。在調(diào)查中的“您計劃在今后一年內(nèi)采用或遷移到其他語言嗎?如果有,是哪些語言?”這個問題里,有 13% 的受訪者回答了 Go。
Go 語言最受歡迎的領(lǐng)域是 Web 服務
調(diào)查結(jié)果顯示,Web 服務在 Go 語言開發(fā)中的占比達到了 36%。對于 Web 服務,首要任務是創(chuàng)建快速的 API 服務器,它們不一定需要框架,而使用 Go 語言可以快速啟動和運行。
在常用 Go 語言的應用領(lǐng)域中,針對第二大應用場景 Utilities(小程序)的開發(fā)上,Go 語言有不小的優(yōu)勢,它能輕松實現(xiàn)處理大量數(shù)據(jù)的快速應用、小型實用程序應用或需要大量功能的一次性任務。
其次,26% 的開發(fā)者表示經(jīng)常在 IT 架構(gòu)中使用 Go。采用 Docker 和 K8s 的人越多,使用 Go 的人就越多,因為它們都是用 Go 編寫的。任何類型的 DevOps 工作都可以從 Go 中受益,因為 Go 提供了類型安全和更快的速度。
使用 Go 語言與云服務的進行結(jié)合也非常容易——Google、 Amazon 以及 Azure 等都有很好的 SDK。當未來泛型到來之后,“Libraries / Frameworks” 類的份額還會有一定提升。
Go 語言主要被用在 IT 和金融行業(yè)
根據(jù)調(diào)查,使用 Go 語言的開發(fā)者主要從事 IT 服務和金融科技,其次是云計算平臺和其它行業(yè)。
IT 服務排第一理所應當,而越來越多的金融行業(yè)也在接觸 Go 語言?,F(xiàn)在已經(jīng)有相當數(shù)量的銀行已經(jīng)采用或正在使用 Go 語言開發(fā)的基礎(chǔ)架構(gòu),英國的 Monzo 銀行使用 Go 構(gòu)建了整個系統(tǒng)。云計算平臺排第三也很合理,因為它們很多應用程序都是以 Go 編寫的。
移動開發(fā)排第五是在人意料之外的,要知道 Go 并沒有良好的移動開發(fā)的歷史。還有幾個行業(yè)的 Go 語言使用率預見在短期內(nèi)不會出現(xiàn)增長,例如基于機器學習的領(lǐng)域,那是 Python 的強項。Go 語言的機器學習也在朝著更普及、更優(yōu)良的方向前進,但至少還要再過幾年才能真正看到成果。
Go 語言工具的使用情況
Go 語言開發(fā)者最喜愛的軟件包管理器是 Go Modules,調(diào)查顯示,其采用率從 2019 年的 41% 上升至 2020 的 82%。在某種程度上,這已經(jīng)沒有疑問了,因為 Go Modules 已經(jīng)被設置為標準默認模型,并且 Go 團隊也想棄用 GOPATH,甚至其它的都可能會被淘汰。
自 2018 年以來,Gorilla / Mux 和標準庫始終是最常用的 Go 路由器。標準庫之所以如此受歡迎,可能是因為無論在 Reddit、Slack 還是其他地方,人們通常都會建議堅持使用標準庫,不到萬不得已不會換用其他東西。
Gorilla / Mux 因為在標準庫的基礎(chǔ)上更加抽象,且性能不會受太多影響,它使編寫服務器更容易,也是最接近標準庫的一個。
根據(jù)調(diào)查,自 2018 年以來,Gin 的使用量幾乎翻了一番,而其他 Web 框架基本保持穩(wěn)定。Gin 在 Web 上如此受歡迎,可能因為它是一個快速框架,得到了很好的推薦,同時也是最古老的框架之一,所以有很多現(xiàn)成的文檔,很多用戶都在使用和推薦它。
使用內(nèi)置測試的開發(fā)者比例從 2018 年的 64% 下降到 2020 年的 44%,而其他測試框架的使用量略有增長。內(nèi)置測試占比很高,是因為 Go 標準庫有一個非常好的開箱即用的測試庫,它的下降可能是因為越來越多的人轉(zhuǎn)移自其他語言,比如 PHP,他們更傾向于重復他們已有的測試習慣。
小結(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ā)者最希望學習的編程語言里 Go 語言位列前三。Hacker Rank 的調(diào)查顯示,Go 連續(xù) 3 年榮登開發(fā)人員最想要學習的語言第一名。
于此同時,Go 語言開發(fā)者的薪資也水漲船高。據(jù)職友集統(tǒng)計,中國 Go 語言開發(fā)工程師的平均月工資為 21.8k 。從全球范圍來看,Go 語言的開發(fā)者的薪酬也是位列前茅,結(jié)合其并不高的聲量和使用率,可以說是「悶聲賺大錢」了。
2021 年, Go 語言將可預見的繼續(xù)穩(wěn)步爬升,CSDN 也持續(xù)關(guān)注 Go 語言的發(fā)展趨勢,不久前重磅推出的《 IT 人才成長路線圖》,其中就包含 Go 語言初階-中階-高階發(fā)展路線圖及免費學習資源,方便讀者根據(jù)自身情況,對照參考學習,共同開源完善路線圖。
查看完整路線圖,請移步官網(wǎng):
https://dev-roadmap.gitcode.host/
咨詢熱線:
86-592-5151555
地址: 廈門市集美區(qū)軟件園三期A3棟504室
QQ:1039899831
固話:86-592-5151555
手機:18020730588(賴先生)
官網(wǎng):m.haymarketdoctors.com
Copyright © 2000-2021 m.haymarketdoctors.com
游戲作品版權(quán)歸原作者享有,如無意之中侵犯了您的版權(quán),請您按照《版權(quán)保護投訴指引》來信告知,本網(wǎng)站將應您的要求刪除。