ECUG社區發起人許式偉:對編程語言的選擇無關陣營,關乎品味

許式偉,七牛雲CEO,ECUG社區發起人,Go語言專家,著有國內第一本Go語言圖書《Go語言編程》。有超過15年互聯網從業經驗,曾在金山、盛大等知名公司擔任重要技術崗位從事核心產品研發。在金山任職期間,先以首席架構師身份主導了全新WPS Office 2005的架構設計和開發;以後建立金山實驗室,以創始人和技術總監的身份主導了前沿的搜索和分佈式存儲相關技術的研究和開發。在盛大工做期間,任職資深研究員,負責盛大祥雲計劃的研究,隨後發起了盛大網盤項目。2011年創立七牛雲,現仍然活躍在技術前沿領域。程序員

今天,咱們採訪的主要話題並非老許做爲技術牛人的開發經歷或是他做爲創始人的奮鬥史,而是他在2007年建立的ECUG社區ECUG的全稱爲Effective Cloud User Group,曾用名是Erlang China User Group。這樣一個曾經關於Erlang語言的社區是如何成爲雲計算領域技術交流的「神聖場合」的呢?咱們來看看老許是如何回答的吧。編程

圖片描述

問:最開始創建ECUG的初衷是什麼?這個用戶組一路上爲你和其餘人帶來了哪些收穫?是否有想要感謝的人?七牛雲存儲

最先創建ECUG的初衷是但願認識服務端開發的朋友,而且交流在服務端開發的最佳實踐。一方面我常年在珠海這樣一個二線城市,而且剛剛從桌面開發轉型到服務端開發,我我的主觀很是渴望交流,學習其餘人的先進經驗。另外一方面也是以爲南方行業內的交流是比較少的,因此但願本身可以在這方面貢獻一點力量。安全

直到今天,這個會議仍然是我瞭解其餘行業技術進步的窗口,基本上國內各個公司的技術大拿都來過ECUG分享過他們的思想。有一些人仍是常客,像劉奇,謝孟軍,田琪等。也許他們中間換了公司,可是和ECUG的約定一直不變。很感謝他們。服務器

問:ECUG最開始名爲Erlang China User Group,而如今則是Effective Cloud User Group,2010年時名稱上的改變是基於什麼考慮?這樣的變化是否也表明了技術環境上,一個時代的變遷? 微信

Erlang是一門小衆語言,咱們在成立ECUG的時候,國內沒有幾我的對它感興趣。這門語言特點鮮明,是服務端編程實踐的一面旗幟。因此ECUG最先叫Erlang China User Group,是由於咱們想推廣Erlang。但哪怕如此,從第一屆的ECUG大會開始咱們也沒有限制必定必須是Erlang語言的編程實踐,只要服務端開發的實踐分享均可以。網絡

2009年的ECUG大會上,咱們討論了更名的事宜,最後肯定了Effective Cloud User Group這個名字,在2010年咱們正式進行了調整。這個更名一方面是因爲ECUG探討Erlang的話題已經愈來愈少,堅持老的名字已經很是名不符實。另外一方面雲計算時代已經明確來臨,咱們但願吸引到更多人蔘與到服務端開發的最佳實踐的分享中來。到2011年的時候,咱們進一步擴大了ECUG的話題範疇,再也不限制只是服務端開發的實踐,只要是服務端領域的話題均可以,好比說服務器運維、服務器安全等等。架構

問:ECUG自成立以來到如今已有8年之久,從成員和活動內容的角度來講,最大的改變是什麼?運維

變化實際上是逐步發生的。最先咱們主要圍繞Erlang這門語言探討服務端的編程實踐,到2011年話題基本上轉向以Go語言爲主。這不是個人我的意志,而是時代變化的結果。到今天,Go語言已經基本上統治了雲計算。編程語言

問:2011年你成立了七牛雲存儲,ECUG和七牛的成立有什麼關係?如今,ECUG對你和整個行業來講意味着什麼?

ECUG和七牛的成立沒啥關係。惟一有關係的是,ECUG是雲計算行業的技術大會,七牛是雲計算公司。

在今天會議如此之多的背景下,我堅持ECUG以技術乾貨爲導向,杜絕廣告。一方面事先對講師的演講內容進行確認,另外一方面若是誰玩純廣告就封殺,此後的ECUG再也不接受這我的的議題。ECUG對我和整個雲計算行業來講,是你們技術交流的神聖場合,經過交流促進行業共同進步。

問:國內雲計算行業內部的競爭如今處於什麼階段?是否能夠大膽地預測一下雲計算行業的將來發展方向?

中國的雲計算從階段上來講,仍然很是早期。具體說來,就是整個雲計算的市場容量仍然很是很是小。雲計算的將來不須要我預測,結論是很是明確的,不少人都進行了預測,你們的意見很趨同。

問:今年的ECUG大會你爲何選擇「一週一語言」這個演講主題?ECUG Con 2015有什麼特點?

嗯,你這個問題有意思,是今天採訪最讓我興奮的話題了。爲何選擇「一週一語言」,有幾個緣由吧。一方面彌補下中國人沒有本身流行語言的遺憾,我認爲qnlang(不過我在內部已經更名爲qlang,即Q語言)具備流行起來的基因。qlang的定位很獨特:它是Go語言的夥伴語言。做爲和Go語言交互最便捷的語言,在Go語言成爲雲計算的事實標準時,在不少場合咱們均可以用qlang做爲輔助語言完成對系統的靈活定製需求。好比,若是咱們用Go語言開發爬蟲,咱們能夠用qlang來定製爬蟲的諸多策略,怎麼作到這一點我在演講中會給出示範。

另外一方面大部分人學習的時候太功利,不過重視學習基本功,好比編譯原理。事實上我認爲編譯原理是很是很是重要的一門基礎知識。某種程度上說多是名字不夠好,我我的更喜歡把這個領域叫作文本處理。文本處理應用範圍很是普遍,想一下咱們今天實際生產環境中,什麼地方不須要文本處理?在咱們如今很火的「大數據」領域,文本處理顯然是很重要的基礎。

ECUG Con 2015從議題上看,技術更加細粒度化了,不少講師都選了一個很小的知識點來展開講,把話題講透徹,這是很好的進步。好比洪強寧只講網絡,我只講文本處理,劉奇講Raft(有趣的是Etcd做者李響講Paxos,他們兩的議題結合起來聽必定頗有意思)。比起很泛泛地說XX實踐,這樣的議題你們能夠獲得更多幹貨。

問:不少人都把七牛、你和Go語言牢牢地聯繫在了一塊兒,曾幾什麼時候,不少人認爲七牛選擇Go語言是一個很大膽的決定。請問程序員應該如何選擇正確的編程語言?面對一門新語言時又該如何高效地學習?

沒有正確的編程語言,只有合適本身的語言。選擇語言須要基於你對要解決的問題域的理解而作出抉擇。固然,這事也和品味有關,不一樣語言實際上體現的是創始人的個性。很多程序員喜歡把語言看作陣營。我我的沒有這種想法,語言說白了只是個工具。沒有必要由於我選了Go語言,就以爲你沒有選Go就和我是敵對。若是有適合全部領域的語言,我也不會去造qlang這個新語言了。

學習新語言的最好辦法是實踐。你用它寫幾個程序解決你實際生產環境你遇到的問題,這比任何方式都有效。我記得我第一個C語言程序是在DOS環境下模仿實現了一個doskey,這個東西挺複雜,涉及編輯器、TSR駐留這些領域知識,一個程序寫下來有好幾千行。這就是我本身的學習方法。

問:你曾經說過「我爲誰提供服務的認知,比我是哪一個領域的程序員(工種認知)更重要」,對於程序員來講,如何培養這種基於產品的思考方式?

有些程序員只關心技術,而不關心業務,我認爲這會制約他們的發展,因此纔給了這樣的忠告。只關心技術的人很快就會遇到成長的天花板。關心你的客戶,這個行動起來能夠很簡單。好比我在金山作辦公軟件的時候,喜歡泡WPS用戶論壇,這是技術人員近距離接觸客戶的有效方法。這個時候技術就不僅是技術,它的背後就是鮮活的人,他們有思想,有喜怒哀樂。這樣你對產品的理解會深入不少,你會理解產品設計爲何是作成這樣的,而不是另外一種形態。

問:相比於其餘技術公司,哪怕是雲計算公司,七牛的極客文化都是極其鮮明的,請問這種文化基因來源自哪裏?你?初始創業團隊?仍是行業?

七牛的文化基因,可能和我、咱們初始創業團隊的風格有關。我但願七牛別那麼功利。雖然企業都須要賺錢,可是隻想賺錢的企業是很沒有意思的。因此咱們作企業的時候堅持了作咱們本身,作咱們喜歡作的事情。我我的很喜歡接觸新技術,體驗新技術的力量。至於這是極客仍是什麼,其實我也不太關心。


更多精彩,加入圖靈訪談微信!

圖片描述

相關文章
相關標籤/搜索