編者按:許式偉,七牛雲 CEO , ECUG 社區發起人, Go 語言專家,著有國內第一本 Go 語言圖書《 Go 語言編程》。有超過 15 年互聯網從業經驗,曾在金山、盛大等知名公司擔任重要技術崗位從事核心產品研發。 2011 年創立七牛雲,現仍然活躍在技術前沿領域。 程序員
近日,圖靈社區對許式偉進行了專訪,所採訪的主要話題並非他做爲技術牛人的開發經歷或是他做爲創始人的奮鬥史,而關於他在 2007 年建立的 ECUG 社區(全稱爲 Effective Cloud User Group ,曾用名是 Erlang China User Group )。這樣一個曾經關於 Erlang 語言的社區是如何成爲雲計算領域技術交流的「神聖場合」的呢?咱們來看看他是如何回答的吧。 編程
Erlang 是一門小衆語言,咱們在成立 ECUG 的時候,國內沒有幾我的對它感興趣。這門語言特點鮮明,是服務端編程實踐的一面旗幟。因此 ECUG 最先叫 Erlang China User Group ,是由於咱們想推廣 Erlang 。但哪怕如此,從第一屆的 ECUG 大會開始咱們也沒有限制必定必須是 Erlang 語言的編程實踐,只要服務端開發的實踐分享均可以。 安全
2009 年的 ECUG 大會上,咱們討論了更名的事宜,最後肯定了 Effective Cloud User Group 這個名字,在 2010 年咱們正式進行了調整。這個更名一方面是因爲 ECUG 探討 Erlang 的話題已經愈來愈少,堅持老的名字已經很是名不符實。另外一方面雲計算時代已經明確來臨,咱們但願吸引到更多人蔘與到服務端開發的最佳實踐的分享中來。到 2011 年時,咱們進一步擴大了 ECUG 的話題範疇,再也不限制只是服務端開發的實踐,只要是服務端領域的話題均可以,好比說服務器運維、服務器安全等等。 服務器
變化實際上是逐步發生的。最先咱們主要圍繞 Erlang 這門語言探討服務端的編程實踐,到 2011 年話題基本上轉向以 Go 語言爲主。這不是個人我的意志,而是時代變化的結果。到今天, Go 語言已經基本上統治了雲計算。 網絡
最先創建 ECUG 的初衷是但願認識服務端開發的朋友,而且交流在服務端開發的最佳實踐。一方面我常年在珠海這樣一個二線城市,而且剛剛從桌面開發轉型到服務端開發,我我的主觀很是渴望交流,學習其餘人的先進經驗。另外一方面也是以爲南方行業內的交流是比較少的,因此但願本身可以在這方面貢獻一點力量。 運維
直到今天,這個會議仍然是我瞭解其餘行業技術進步的窗口之一,基本上國內各個公司的技術大拿都來過 ECUG 分享過他們的思想。有一些人仍是常客,像劉奇、謝孟軍、田琪等。也許他們中間換了公司,但和 ECUG 的約定一直不變。很感謝他們。 編程語言
ECUG 和七牛的成立沒啥關係。惟一有關係的是, ECUG 是雲計算行業的技術大會,七牛是雲計算公司。 編輯器
在今天會議如此之多的背景下,我堅持 ECUG 以技術乾貨爲導向,杜絕廣告。一方面事先對講師的演講內容進行確認,另外一方面若是誰玩純廣告就封殺,此後的 ECUG 再也不接受這我的的議題。 ECUG 對我和整個雲計算行業來講,是你們技術交流的神聖場合,經過交流促進行業共同進步。 工具
嗯,你這個問題有意思,是今天採訪最讓我興奮的話題了。爲何選擇「一週一語言」,有幾個緣由吧。一方面,彌補下中國人沒有本身流行語言的遺憾,我認爲 qnlang (不過我在內部已經更名爲 qlang ,即 Q 語言)具備流行起來的基因。 qlang 的定位很獨特:它是 Go 語言的夥伴語言。做爲和 Go 語言交互最便捷的語言,在 Go 語言成爲雲計算的事實標準時,在不少場合咱們均可以用 qlang 做爲輔助語言完成對系統的靈活定製需求。例如,若是咱們用 Go 語言開發爬蟲,咱們能夠用 qlang 來定製爬蟲的諸多策略,怎麼作到這一點我在演講中會給出示範。 學習
另外一方面,大部分人學習的時候太功利,不過重視學習基本功,好比編譯原理。事實上我認爲編譯原理是很是很是重要的一門基礎知識。某種程度上說多是名字不夠好,我我的更喜歡把這個領域叫作文本處理。文本處理應用範圍很是普遍,想一下咱們今天實際生產環境中,什麼地方不須要文本處理?在咱們如今很火的「大數據」領域,文本處理顯然是很重要的基礎。
ECUG Con 2015 從議題上看,技術更加細粒度化了,不少講師都選了一個很小的知識點來展開講,把話題講透徹,這是很好的進步。好比洪強寧只講網絡,我只講文本處理,劉奇講 Raft (有趣的是 Etcd 做者李響講 Paxos ,他們兩的議題結合起來聽必定頗有意思)。比起很泛泛地說 XX 實踐,這樣的議題你們能夠獲得更多幹貨。
沒有正確的編程語言,只有合適本身的語言。選擇語言須要基於你對要解決的問題域的理解而作出抉擇。固然,這事也和品味有關,不一樣語言實際上體現的是創始人的個性。很多程序員喜歡把語言看作陣營。我我的沒有這種想法,語言說白了只是個工具。沒有必要由於我選了 Go 語言,就以爲你沒有選 Go 就和我是敵對。若是有適合全部領域的語言,我也不會去造 qlang 這個新語言了。
學習新語言的最好辦法是實踐。你用它寫幾個程序解決你實際生產環境你遇到的問題,這比任何方式都有效。我記得我第一個 C 語言程序是在 DOS 環境下模仿實現了一個 doskey ,這個東西挺複雜,涉及編輯器、 TSR 駐留這些領域知識,一個程序寫下來有好幾千行。這就是我本身的學習方法。
有些程序員只關心技術,而不關心業務,我認爲這會制約他們的發展,因此纔給了這樣的忠告。只關心技術的人很快就會遇到成長的天花板。關心你的客戶,這個行動起來能夠很簡單。好比我在金山作辦公軟件的時候,喜歡泡 WPS 用戶論壇,這是技術人員近距離接觸客戶的有效方法。這個時候技術就不僅是技術,它的背後就是鮮活的人,他們有思想,有喜怒哀樂。這樣你對產品的理解會深入不少,你會理解產品設計爲何是作成這樣的,而不是另外一種形態。
七牛的文化基因,可能和我、咱們初始創業團隊的風格有關。我但願七牛別那麼功利。雖然企業都須要賺錢,可是隻想賺錢的企業是很沒有意思的。因此咱們作企業的時候堅持了作咱們本身,作咱們喜歡作的事情。我我的很喜歡接觸新技術,體驗新技術的力量。至於這是極客仍是什麼,其實我也不太關心。
中國的雲計算從階段上來講,仍然很是早期。具體說來,就是整個雲計算的市場容量仍然很是很是小。雲計算的將來不須要我預測,結論是很是明確的,不少人都進行了預測,你們的意見很趨同。
ECUG 2015 正在火熱報名中,前往報名:http://www.huodongxing.com/event/5316188717200