您好,登錄后才能下訂單哦!
這篇文章主要講解了“2021年Go趨勢發展報告分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“2021年Go趨勢發展報告分析”吧!
在當今最流行的編程語言列表里,Go語言一直是名列前茅。眾所周知 Go 語言現在很火,寫 Go 代碼也很有意思,Go 在社區也很受用戶歡迎,主要是 Go 語言的速度塊,效率高。除了這些眾所周知的優點之外,我們期待發現 Go 更多不為人知的信息。為了發現更多的事實,我們在目前 Go 現有信息的基礎上,進行了深入研究。我們邀請了Go 語言專家、Goland 開發倡導者 Florin P??an 來發表他對 Go 語言發展趨勢的看法。
總的來說,大約有 110 萬專業的 Go 開發者 使用 Go 作為主要開發語言。 如果我們把那些使用其他語言作為主力開發語言,但是把 Go 當作業余愛好的開發人員算在內的話,這一數字可能接近 270 萬。
就全球分布而言,居住在亞洲的 Go 開發者最多,大約有 57 萬開發者使用 Go 作為主要開發語言。
專家分析:
這也正是我最期待的使用 Go 開發的地方。就 Go 用戶數量而言,亞洲高居榜首,我認為主要原因是有大量的來自像騰訊、阿里巴巴、華為這些大公司的開發者。這些公司一般都有很多開發人員。
下圖顯示了我們在 2020 開發者生態調查中調查的每個國家使用 Go 作為主要語言的開發者的分布情況(受訪者最多可以選擇 3 種主要語言)。中國的開發者集中度最高,有 16% 的中國開發者在使用 Go。
專家分析:
看到中國排在榜首,我一點也不驚訝。我本以為俄羅斯會排在第二,美國會高一點,大概在前五位。
中國之所以排在榜首,可能正是因為他們擁有的開發者數量最多。而且我認識的很多公司,比如 PingCAP、騰訊和華為,都有很多開發者來支撐和構建他們的內部工具、基礎設施和后端服務,這些服務都和微服務相結合。這似乎是中國排在榜首關鍵原因。
我知道俄羅斯的 Go 社區非常棒,所以也難怪 Go 在那里很受歡迎。我對日本和烏克蘭很好奇,因為我沒想到他們會這么高,我以為德國和印度會更高些。記得四五年前我在柏林的時候,我認識的每一家創業公司都在使用 Go 。
Go 依然保持著開發者主要使用語言的前 10 名,根據 2020 開發者生態調查顯示 Go 的份額約為 9%。
專家分析:
我認為 Go 會一直增長。人們通常不會把 Go 作為他們開始編程的入門語言,但是會從其他語言遷移過來,例如 PHP、Ruby,但據我所知,主要從 C++、C# 遷移過來。
Go 相比 PHP 的優勢是類型安全,因為 Go 是一門靜態類型語言,而 PHP 是門動態類型語言。這就意味著編譯器在運行時做了大量的工作來確保你寫的代碼能夠編譯并且正常運行。相比于 C++ ,Go 的優勢是簡單。在 Go 里面,一切都是那么簡單。
總的來說,Go 的特點就是與生俱來的速度快,無論是寫代碼還是運行時。一般來說,在不做任何特殊優化的情況下,采用 Go 語言你就能提高 5-10 倍的性能,這對公司來說是一個很重要的生產優勢。同時 Go 也是一門簡單的語言,很容易上手,很容易替換現有項目中的微服務。
許多 IT 基礎設施工具,如 Kubernetes、Docker 和 Vault(舉幾個大型的例子)都是用 Go 構建的。因此雖然很多公司是使用 Java ,但是還是會有一個團隊會用 Go,特別是為了來維護這些項目和給這些項目打補丁。這可能是 Go 采用率保持增長的另外一個原因。 這種技術在公共技術設施和部署中使用的越多,Go 就增長的越快。我認為接下來幾年會有越來越多的人采用 Go,我們將會看到大約有 15%-20% 的開發者會使用 Go。特別是考慮到開發者生態調查中問的一個問題,“您打算在今后 12 個月內采用或遷移到其他語言嗎?”,13% 的受訪者回答是 Go。
Web 服務是使用 Go 最受歡迎的領域,根據 2020 開發者生態調查結果顯示,其占有 36% 份額。
專家分析:
為什么是 Web 服務,我認為主要原因是構建一個 API 服務非常快。他們不需要框架,就可以用 Go 快速啟動和運行一個。
我不認為這張圖在未來會有很大變化,我真心希望看到 Web 服務得到更多的分享,因為用 Go 開始一個 Web 服務確實很簡單。
對于實用小程序,我見過很多類似的,因為 Go 很容易快速寫一個小應用來幫你處理大量的數據,寫一個小的實用程序或需要消耗大量資源的一次性任務。越來越多的人采用 Docker 和 Kubernetes,就會有越來越多的人使用 Go,僅僅是因為他們都是用 Go 寫的。任何類型的 DevOps 的工作都可以從 Go 中獲益,因為它提供了類型安全和速度。與基礎設施的云端交互很容易(Google、Amazon、Azure等),因為他們都有很好的 SDK 。我認為未來幾年,當泛型到來時,我們還可以期待下 “Libraries / Frameworks” 的一些提升。
系統軟件——我認為隨著越來越多的人開始使用像 Rust 這樣的語言編寫系統軟件,這一數字將會下降。數據庫也是如此。所以這大約 6% 市場,在未來這可能會變成一個商機。編程工具——我很驚訝它在列表中份額這么高,我非常感興趣去了解一下 Go 有哪些編程工具。
根據 2020 開發者生態調查 ,Go 程序員主要從事 IT 服務,其次是金融和金融科技、云技術/云平臺和其他行業。
專家分析:
金融和金融科技。這是我希望看到的,因為據我所知有相當多的銀行已經開始采用 Go 或者正在廣泛使用 Go 作為他們的基礎設施。例如,來自英國的 Monzo 使用 Go 構建了他們整個銀行系統。云計算和云平臺也很有意義,因為它們對于使用 Go 編寫的應用來說是很自然的。
移動開發,這是意料之外的。Go 并沒有好的移動開發歷史。如果有什么不同的話,我希望大家使用 Go 來為移動程序提供網絡服務或者后端服務,但僅此而已。
有幾個行業,我不認為 Go 的使用率會很快增加。比如,任何基于機器學習的東西,因為這仍然是 Python 的地盤。人們正在努力讓機器學習在 Go 中變得受歡迎和變得更好,但是我認為至少要幾年之后才會有一些結果。
包管理
Go Modules 是 Go 開發者中最受歡迎的包管理工具。根據 2020 開發者生態調查其使用率從 2019 到 41% 上升到到 2020 的 82%。
專家分析:
我認為在某種程度上我們可能不得不停止問這個問題,因為 Go Modules 已經被設置為標準默認模型,而且 Go 團隊也想要棄用 GOPATH。到那時,其他的所有的包管理工具都將會被淘汰。
根據 2020 和 2018 的開發者生態調查顯示,Gorilla / Mux 和標準庫自 2018 年以來一直是使用最多的 Go 路由。
專家分析:
標準庫之所以如此受歡迎,可能是因為每當你去 Reddit、Slack 或其他地方,人們通常都會建議你堅持使用標準庫,只有在你真正需要的時候才使用其他東西。我使用 gorilla/mux,是因為它在標準庫的基礎上有更多的抽象,又不會犧牲太多的性能。也可能是因為它是最接近標準庫的,而且它使得編寫服務端更容易。總的來說,這種分布可能是我希望看到的。
根據 2020 和 2018 的開發者生態調查顯示,Gin 的使用量自 2018 年以來幾乎翻了一倍,而其他 Web 框架基本保持穩定。
專家分析:
Gin 在 Web 上如此受歡迎,因為它是一個速度快的框架,而且也得到了很好的推薦。它也是最古老的框架之一。因為會有很多文檔擺在那兒,很多用戶已經在使用它和推薦它。
使用內置測試框架的比例從 2018 年的 64% 下降到 2020 的 44%,而使用其他測試框架的比例略有增長。
專家分析:
內置的測試框架比例很高是因為 Go 標準庫有一個非常好的開箱即用的測試庫。
內置測試可能會下降主要是因為越來越多的人從其他語言(比如 PHP)轉向這門語言,他們試圖復制自己已有的測試習慣。
Go 經常在 IT 社區中被討論,Stack Overflow 就是其中之一。我們從其 Q&A 單元獲取數據來找出哪些標簽與“Go”同時出現次數最多。其中有 23 種工具和兩種語言(MySQL 和 PostgreSQL)。除了這些工具,還有與其他頂級語言的共存。縱軸表示標簽出現的總次數,而橫軸表示帶有“Go”的標簽的提及次數。
專家分析:
我早料到 JSON 會是個問題,把 Go 的數據結構序列化和反序列化成 JSON 確實是很不容易的,這可能就是 JSON 會如此醒目的原因。來自其他語言的人通常很難理解 struct,除非它們來自 C++ 或 C。
基于 AWS 本身的受歡迎程度,我認為 Amazon Web Services 會有很多問題。現在為 Google App Engine 開發 Go 應用程序更簡單了,但以前并不是這樣,所以才會有這么多問題。
總而言之,Go 社區是一個非常有趣且具有包容性的社區,你可以成為其中的一員。從不排斥新人,鼓勵他們提出問題,探索語言。在一般的主題方面,泛型以及某些語言改進、編譯器改進等都是經常討論的話題。
尤其是泛型,因為它是該語言最需要的特性之一,并且有大量的工作負載將受益于該特性。
感謝各位的閱讀,以上就是“2021年Go趨勢發展報告分析”的內容了,經過本文的學習后,相信大家對2021年Go趨勢發展報告分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。