Go 將統治下一個十年

oschina發表於2015-11-10

標題相當誇張是不是?

我本來打算用“規則”這個詞的,但真的認為“統治”的描述更加準確。

只有一點就是,如題的觀點是事實。

每一天我都跟許多人談論到 Go。除了像 Google 或者 Github 這樣的地方之外,在 Go 使用者上我們可能已經有了世界上最大的資料集。我們也從各種渠道收集到很多有趣的生產環境執行時資料。外部資料中的一些主動策劃從公共資源處獲取到的,而其他部分則是自動從招聘網站、github 資源庫、公司部落格、linkedin 還有其它資源那裡收集到的。這將我們引向一個有趣的問題:

這些 go 老鼠(諧音)們到底是從哪個洞裡面鑽出來的?

Devops

幾乎所有這幾年出現的 devops 工具都已經被用 Go 語言改寫了。我覺得這恐怕預示著什麼。通常,相對於一般的開發團隊,小公司的運維團隊收到的監管很少。只要是能工作的工具,他們一般就會去用,而不需要獲得誰的批准。對他們來說 Go 語言工作的非常棒,這是一門靜態型別和編譯型的語言(無需安裝需要上千個依賴的執行庫),而且 Go 的執行庫也不大,也不用動不動就需要 100-300M的磁碟空間(看看 ruby、jvm 吧)。

比特幣

許多 DeferPanic 上的我們的客戶都與比特幣/虛擬貨幣有關。這並非巧合,整個生態系統的共同點是使用Go語言。最有意思的是,我們所服務的那些公司,並不像你們以為的那樣會執行某些應用。基本上就是基於檔案系統的,或者是校驗由2008年建立的一堆雜亂的服務生成的交易。例如:極少數嘗試把套利交易變成兌換。

不管你聽到過什麼,比特幣都還沒有死掉。很多用例傳統上沒想到過的,但是實際上已經有了很大的成功。我們的這些客戶需要有高效能和更好的資料安全性的保證,Go 語言在這方面顯然是很好的選擇。

容器

有趣的是和那些科技人士交談後發現他們居然不知道今天所有容器技術都是 Go 寫的,不是 99%,也不是 95%-100%。

所有今天在使用的容器軟體都是 GO 寫的。

市場營銷人員應該開始用 Go 原生來替換雲原生。

我們可以強調這是有多大(的市場)?即使你不相信容器的炒作,認為這是一個龐式騙局。當你考慮到所有公司使用 Go 的人數,並且未來幾年大公司使用 Go 人數巨大。問你從世界財富五百強的資訊長那聽說他們將要檢修他們系統,你不得不意識到這訂單很大。這不是他們看輕這件事,相反,他們也不會輕易的從中走開,因為這是一個巨大的對時間,金錢以及過程的投資。

微服務

微服務在過去的幾年風靡一時,不少分析師忽略了它們的價值,因為他們並不是搞技術的。當你用maven下載了半個網際網路,同時啟動要佔用 800M 虛擬記憶體,或者當你執行一個 RoR 的應用的時候佔用了 200M,這和 Go 平均 5-20M 的執行時想比真是相差巨大。這種差距可以立刻轉換到賬單上,當你公司每個月少給 25-30 美金在 AWS 上就顯而易見了。隨著這種激烈的趨勢下去,我們會看到越來越多的公司因為上述理由採用這種模式,並且你可以打賭即將迎來 Go 的時代。

投資

當談及到一些知道 Docker 的人很有趣,他們甚至會去投資它在他們並不知道這個是由一個他們從未聽過的 Go 編寫而成的之前。在某種情況下,我想大概可以認作為“細節摘要”,當你把所有內容都說出來是很瘋狂的。當然,事情也並非總是如此。

從來自 Battery 的 Adrian (也是來自 Netflix)今年在他與公司的交流中曾經數次說到 Go:

“大概四分之三的新東西是用 Go 寫的 @golang” – 十二月十四號

L 接著他又提到 “幾乎所有新的、有趣的東西都是用 Go 寫的”.

在他的行業裡面他可能有更好的眼光,因為他參加過很多會議,並如此的接地氣。

來自 Mayfield 的 Robin Vasan 甚至在今年的 goper 大會上進行了一次演講

在 VC 工作,並且精通 Go 的 Jerry Chen 曾經出席大會並有良好表現。

Go 將統治下一個十年

採用

早年,C++ 曾一度被嘲諷為是無能的 C 程式設計師才使用的語言。後來,Java 出現了,但也沒有多大的改善。Joel早就對此很失望。究其原因是,在上世紀 90 年代後期所推行的一堆物件導向的概念,完全是在胡說八道,並且對未來有害無益(雖然當時難以預見)。摩爾定律失效了。現在,大家都用虛擬計算機做軟體開發和交付,這是一種完全不同於上世紀 90 年代的做法。不過,誰會想得到呢。事後諸葛亮還是好當的。

舊金山的工程師們對此或許會感到有些驚訝。在舊金山,有一大群的開發人員每天想著朝九晚五的上下班,回到家後就不再碰觸電腦。他們可能是形形色色的,但我想他們都有一個共同的特點,那就是他們“編碼只是為了完成任務”。他們絲毫不關心熱門的新框架,也不在乎是否使用最新的“最佳實踐”。他們唯一的心願就是“完成任務”。

Go 在這方面很出色(去掌握這門技術吧)。它真真正正的讓開發人員做到了恰好搞定工作。

眾觀世上所有程式設計語言,沒有其它任何一門語言能夠在“完成任務”模式上有優勢。然而,對於軟體的未來,這一點卻非常重要。因為,每一家公司都不得不招收越來越多的開發人員,開發越來越複雜的系統。

Go是新的JVM

Go替代JVM和.NET成為企業級程式語言是很顯而易見的。

例如,我在舊金山演講的時候幾乎所有的Scale企業都在一點一點的遷移到Go,許多歐洲的企業也在做著同樣的事情。

Go 將統治下一個十年

另一個我聽到比較多的比較和是Node。我發現人們嘗試用Node去比較Go的時候都有點奇怪。首先你是比較語言的框架,其次你用Javascript(差不多和Java的釋出時間一樣)和Go進行比較。在人類的歲月裡,Java和Javascipt都喝醉在酒吧的某個角落,Go當時甚至還沒有從幼兒園裡學會第一個字母,但現在Go依舊能得到這混亂市場的份額。

然而,真正愚蠢的人總是提及現在使用Go的人數-這基本上是偽科學的定義。我不認為談論1900年路上車的數量是有意義的。

更精確且相關的應該是討論Go在生態系統的方面(加密貨幣,容器)和增長速率,而不是原始的下載數。

因此,讓我們來看一些謊言。

讓我們來看一些該死的謊言。

讓我們來看一些統計資料。

人們只需要看看 Node 和 Go 聚會的出席率來做出自己的判斷,從字面上看是兩倍,完全沒有競爭能力。

Go 將統治下一個十年

似乎每個人都很享受推特風暴,那麼這條怎麼樣?我不知道應該把 DropBox 歸屬在什麼類別(除了大),但是我覺得這會給你一個得體的想法去支援 Go 在接下來的幾年裡:

Go 將統治下一個十年

另外,你還認為只是谷歌和一些舊金山訊息靈通的人在使用Go嘛?又是猜的。Go在中國很多人用,而且本地的百度也有一個大的使用者,他們正在開始使用Go。

Go 將統治下一個十年

顯然Go是一個有美好未來的新語言,Go無用武之地?

然而現實是這樣的:“在美國市值前20的企業有超過一半正在使用Go”

最後

如果你還沒有開始使用 Go 就說明你的組織已經落後了。在 90 年代、00 年代落後可能並不是大不了的事情,我們仍然有當時的 “IT” 概念,但是現在可是快接近 2016 了。

你不能被拋在後面,不然你的業務就會死。

這不是一個原始的資源遊戲,在成本的十分之一提交軟體。我們幾次都注意到這很高的影響工作效率。不管你信不信這會相當你有十倍的程式設計師,Go 會讓你們團隊的效率提升十倍以上。

所有招聘來工作於基礎系統的,如果你不使用 Go,將使你組織的技術冒上風險。

Ruby 顯然已經完了。Javascript 是誤導的、python 踩上了資料科學家的高蹺。JVM 西斯君主握住你的脖子,.NET最近開源企圖想留在開源相關面。

Go 在未來,Go 是你的未來,你還有得選擇。

Go 會統治接下來的十年!

相關文章