當前位置:
首頁 > 科技 > 為什麼明星公司會選擇Go作為編程語言?

為什麼明星公司會選擇Go作為編程語言?

編者按

最近很多人都看到了郝林通過大病籌款平台輕鬆籌發起籌款的事情,小編受作者所託,感謝開發者們在他生病期間的經濟與精神上的支持和鼓勵。

目前郝林病情暫時穩定,並已決定把籌集的 10 萬元捐款退回,接下來將會通過在極客時間寫專欄籌集醫療開支,極客邦科技也將從企業公益基金中拿出 10 萬幫助其治療,如果你喜歡這個專欄,請訂閱並推薦給需要的人,這是對郝林老師最好的鼓勵。

近日,Hacker News 發布了 2018 年 7 月的編程語言招聘趨勢排行榜,其中,Go 語言已經反超 Java 進入了前三名的行列。從淺綠色的 Go 語言走勢圖可以看出來,企業對於 Go 語言的採用情況在逐年上升。

從公司角度看,許多大廠都已經開始擁抱 Go 語言,包括以 Java 打天下的阿里巴巴,更別提深愛著 Go 語言的滴滴、今日頭條、小米、奇虎 360、京東等明星公司。同時,創業公司諸如輕鬆籌、快手、知乎、探探、美圖、獵豹移動也鍾愛 Go 語言,因為 Go 語言具有入門快、程序庫多、運行迅速等特點,也比較適合快速構建互聯網軟體產品。

說到 Go 語言的應用場景,它基本可以用在所有對於性能有較高要求的系統中,比如分散式系統、網路編程、高並發系統、服務端編程。目前流行的 Docker、Kubernetes、istio、nsp、etcd 等開源項目都是基於 Go 語言的。

對某種語言的需求也同時意味著人才的需求,2018 年的春招剛剛過去,Go 語言開發工程師的薪水也隨之水漲船高。騰訊、阿里巴巴、今日頭條等熱門公司甚至一度在招聘條件中特別標註了掌握 Go 語言優先考慮的字樣。

對於 Go 語言來說,這樣的火熱程度僅僅是一個開始。去年是 Go 語言的 10 周年,Go 語言之父,Google 大神 Rob Pike 曾在自己的博客中說道:「Go 已經成為雲計算時代的標準語言,它已經逐漸成為這個行業的主導者,特別是在中國。」七牛雲 CEO 許式偉就曾一度預測:Go 是互聯網時代的 C 語言。

Go 語言儼然已經成為互聯網時代的 C 語言,它融合了 C 語言的小巧和 Python 語法簡潔的優勢,性能極高,使用 Go 語言實現一套完整的 MVC 開發框架,集成 HTTP Server 的同時,整個框架的核心代碼不會超過 300 行,從這樣的案例中,你就可以實際感受到 Go 的語言描述效率之高。

2015 年初,我開始幫助公司招聘 Go 程序員,我面試過的 Go 程序員已經有幾百個,雖然一場面試的交流內容遠不止技術能力這種硬技能,更別提只限於一門編程語言,但就事論事,在所有的應聘者當中,真正掌握 Go 語言基礎知識的比例恐怕超不過 50%,而真正熟悉 Go 語言高階技術的比例也不超過 30%。我們不能因為希望快速掌握一門語言,而忽略了穩紮穩打建立一個牢固知識體系的重要性。

我是從 2012 年底開始關注 Go 語言的,不敢自稱佈道師,但算得上國內比較早期的使用者。我希望通過我多年對 Go 語言的研究、實戰總結、還有大量一線的面試經驗,幫助 Go 語言愛好者以一種比較友好的路徑去精通這門語言,當然在應聘 Go 語言相關崗位的時候,也可以更加遊刃有餘。

我是誰?

我是郝林,是 GoHackers 技術社群發起人,暢銷榜書籍《Go 並發編程實戰》的作者,前輕鬆籌大數據負責人。13 年軟體開發從業經驗,做過銀行、電信軟體和互聯網社交產品。從 2012 年底開始關注 Go 語言,對 Go 語言和 Docker 技術都情有獨鍾,是 Go 語言的忠實擁護者。

我希望本專欄能幫助或推動你去做更多的實踐和思考,當然我也會通過先點、後線、再面的方式幫你佔領一個個重要的陣地。別的不敢說,如果你認真地跟我一起走完這個專欄,那麼基本掌握 Go 語言是肯定的。為什麼說基本掌握?因為軟體技術,尤其是編程技術,必須經過很多的實踐甚至歷練才能完全掌握,這需要時間而不能速成。不過,專欄里的幾十篇文章足以成為你學習 Go 語言最重要的敲門磚和墊腳石。

課程介紹

在這個專欄中,我會為你梳理出知識脈絡,把 Go 語言的精華共分成5 大模塊,共 36 篇精拆細說。

第一模塊基礎概念:講述 Go 語言基礎中的基礎,包括一些基本概念和運作機制。它們都應該是你初識 Go 語言時必須知道的,同時也有助於你理解後面的知識。

第二模塊數據類型和語句:Go 語言中的數據類型大都是很有特色的,你只有理解了它們,才能真正玩轉 Go 語言。我將和你一起與探索它們的奧妙。另外,我也會一一揭示怎樣使用各種語法和語句操縱它們。

第三模塊 Go 程序的測試:很多程序員總以為測試是另一個團隊的事情,其實不然。單元測試甚至介面測試其實都應該是程序員去做的,並且應該受到重視。在 Go 語言中怎樣做好測試這件事?我會跟你說清楚、講明白。

第四模塊標準庫的用法:雖然 Go 語言提供了自己的高效並發編程方式,但是同步方法依然不容忽視。這部分還涉及了位元組和字元問題、OS 操控方法和 Web 服務寫法等,這些都是我們在日常工作中很可能會用到的。

第五模塊 Go 語言拾遺:這部分將會講述一些我們使用 Go 語言做軟體項目的過程中很可能會遇到的問題,至少會包含兩篇文章,是附贈給廣大 Go 語言愛好者的。

安卓用戶戳此進入小程序訂閱《Go 語言核心 36 講》

訂閱福利

福利一:原價¥68,上新期間¥45,8 月 18 日恢復原價

福利二:每邀請以為好友購買,你可獲得 12 元現金返現,你的好友可獲得 6 元現金返現,多邀多得,上不封頂,立即提現(提現流程:極客時間 APP- 我的 - 分享有賞)

訂閱方式


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

在頂尖架構師眼裡,你遇到的坑都是小問題
記住,永遠不要在MySQL中使用「utf8」

TAG:InfoQ |