Go從1.0版本到現(xiàn)在(2015年)已經(jīng)有三年多的時(shí)間川抡,大的版本發(fā)布了五個(gè),根據(jù)Go語言的幾個(gè)版本须尚,這里總結(jié)一下它的演進(jìn)崖堤。
語法變化:幾乎沒有增加什么明顯的語法特性,變化主要圍繞:降低心智負(fù)擔(dān)耐床、細(xì)節(jié)完善密幔、工程化;
Go本身迭代的核心是實(shí)現(xiàn)優(yōu)化撩轰,主要圍繞:性能胯甩、性能、性能?吧(重要的事情說三遍)偎箫,性能的優(yōu)化尤其體現(xiàn)在GC上,此外溉苛,還圍繞更多的平臺移植及更進(jìn)一步的標(biāo)準(zhǔn)化镜廉,以強(qiáng)化社區(qū)約定。
Go和Java不一樣的地方在于愚战,Go保留了比較大的靈活性的因素娇唯。我個(gè)人對Go語言未來有這樣的判斷:Go介于Java和很多靈活性的語言之間。Go的語言特性寂玲,三年雖然發(fā)布了五個(gè)大版本塔插,但其實(shí)沒有什么語言的實(shí)質(zhì)性變化,我見到有人噴Go時(shí)拓哟,認(rèn)為Go語言太不思進(jìn)取了想许,也有人認(rèn)為Go社區(qū)對好的想法不思進(jìn)取、不愿意吸收。
我認(rèn)為其實(shí)不然流纹,不止三年糜烹,哪怕是十年,Go語言的語法變化也別指望有大的改進(jìn)漱凝,它基本上只會修補(bǔ)一些很小的地方疮蹦,我覺得與其說是不思進(jìn)取,不如說是它對如何寫好代碼這樣的需求理解的自信茸炒,這是其他語言遠(yuǎn)不能企及的愕乎,也是我對Go最佩服的地方。
我為什么選Go壁公?并不是因?yàn)镚o有多好感论,七牛是做云服務(wù)的,云服務(wù)特別依賴并行支持紊册,而Go可能是這世界上對并行支持的先行者比肄。
最早七牛用Go的時(shí)候,Go 1.0還未發(fā)布湿硝,我當(dāng)時(shí)對語法變化的判斷不是特別高薪前,這自信有點(diǎn)類似C润努,C到現(xiàn)在已經(jīng)十幾年了关斜,但C到現(xiàn)在變過嗎?幾乎沒什么改變铺浇,哪怕有C 99之類的痢畜,變化都很小。Go語言的想法和C很類似鳍侣,我覺得很難預(yù)期 Go的語法特性變化很劇烈丁稀,但這恰恰是這個(gè)語言發(fā)展的魅力所在,因?yàn)槟悴挥脫?dān)心你寫的代碼三十年后會過時(shí)倚聚。從某種意義上講线衫,這是一種自信,它已經(jīng)知道這個(gè)世界未來就應(yīng)該這個(gè)樣子惑折。
Go語言的研究方向
大家都很關(guān)心Go語言未來會如何發(fā)展授账,我覺得三到五年內(nèi)Go語言的主攻方向仍然是服務(wù)端開發(fā),這不會有太大的變化惨驶。比如內(nèi)建HTTP 2.0的支持(更多的支持會以獨(dú)立的開源庫的方式提供白热,未必直接包含在Go的發(fā)布包);另外粗卜,盡管Go已經(jīng)開始支持桌面端(Mobile)的開發(fā)屋确,但這仍然是探索性和試驗(yàn)性的,如果站在10年的維度上,Go語言會在桌面端(Mobile)大放異彩攻臀,占據(jù)重要地位焕数。
很有意思的是,全球?qū)o最感興趣的是中國刨啸,進(jìn)一步來講其實(shí)是華人百匆,為什么?因?yàn)閷o感興趣排第二的是香港呜投,第三是新加坡加匈,這些地方都是華人聚集地,所以Go語言在中國發(fā)展或者在華人圈發(fā)展非常不錯(cuò)仑荐,比在美國本土還牛很多(當(dāng)然這僅僅是搜索雕拼,其實(shí)我是開玩笑的)。從開源項(xiàng)目的角度看粘招,Go在國外發(fā)展的其實(shí)非常好啥寇,剛才所講的語法特性,大家覺得發(fā)展好像很慢洒扎,但其實(shí)不然辑甜,因?yàn)樗?.0的時(shí)候就把后面的所有做的事情都想好了,后面所要做的就是優(yōu)化袍冷。
下面關(guān)于Go磷醋,有一些公開的預(yù)測:
第一個(gè)預(yù)測,我最早在2012年新浪微博里提過胡诗,Go語言10年內(nèi)一定會超過C和Java邓线,變成排行榜第一的語言。今天大家可能會略相信煌恢,但在2012年的時(shí)候沒有多少人會相信骇陈,即使今天講出來碟绑,絕大部分人都會覺得太早殉农,畢竟它還沒有排進(jìn)前五。
第二個(gè)預(yù)測烤宙,Go語言將在兩年內(nèi)制霸云計(jì)算領(lǐng)域二汛。
第三個(gè)預(yù)測婿崭,Go將統(tǒng)治下一個(gè) 10 年。(來自于Deferpanic創(chuàng)始人Lan Eyberg)习贫。
接下來一個(gè)問題逛球,非技術(shù)人怎么看Go?第一是國外的投資人怎么看Go苫昌,我覺得國外的投資人和中國投資人不一樣颤绕,他們挺技術(shù)范兒的幸海,他們認(rèn)為"開源的Go語言將成為最持久、最有廣泛影響力的開源系統(tǒng)之一"奥务。另外物独,有商務(wù)開發(fā)人士認(rèn)為,"這個(gè)世界上好像幾乎所有新的氯葬、有趣的項(xiàng)目都是用 Go寫的"挡篓。