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