前VMware云平臺(tái)首席技術(shù)官Derek Collison曾斷言Go語言兩年內(nèi)將成為云計(jì)算的主流語言,這也許有些聳人聽聞,但Go語言在Google內(nèi)部確實(shí)取得了令人矚目的成績。Wired 最近發(fā)表文章講述了Go語言在Google內(nèi)部崛起的故事,IT經(jīng)理網(wǎng)編譯整理如下:
當(dāng)一部分“老弱”程序代碼不能正常工作時(shí),Google就會(huì)派出負(fù)責(zé)Go語言項(xiàng)目的“地鼠特工隊(duì)”負(fù)責(zé)除舊迎新。
Brad Fitzpatrick在使用Google軟件最常用的功能時(shí)卡住了——下載進(jìn)度條在99%的地方停下了。雖然下載失敗是很常見的問題,但 Fitzpatrick卻并無遷就之意,他是地球上最懂技術(shù)的企業(yè)——Google的工程師,他不能容忍此類問題發(fā)生在Google身上。
“1k大的文件都托管不好對Google來說是很丟人的事情,”Fitzpatrick在上周俄勒岡的開源大會(huì)上說道,“所以我在內(nèi)部的Google+站點(diǎn)上就此問題大吐其槽?!?
其實(shí)Fitzpatrick并不孤單,多年來很多人都曾抱怨dl.google.com系統(tǒng)不夠穩(wěn)定,而該系統(tǒng)極其重要,處理幾乎所有Google的下載任務(wù),包括Chrome瀏覽器安裝文件、Android源代碼,到體積小些的JavaScript庫。
問題的根源是該文件服務(wù)器系統(tǒng)的底層代碼的年齡已經(jīng)超過五年,可謂破敗不堪。
“如果代碼不能得到持續(xù)的關(guān)愛就會(huì)變成一堆屎,”Fitzpatrick說道。
最初的C++代碼缺乏規(guī)范的文檔,自動(dòng)化測試也不達(dá)標(biāo),沒有人能搞明白它是如何工作的。人們只是不停地做一些增量改變,最后在負(fù)責(zé)維護(hù)的程序員眼 里,這些代碼變成了“一坨面條”。系統(tǒng)的不穩(wěn)定差不多要把服務(wù)器運(yùn)營團(tuán)隊(duì)逼瘋了,但是沒有人有時(shí)間重寫技術(shù)上還能使用的代碼。于是Fitzpatrick 自告奮勇接手這個(gè)任務(wù),他來自Google的一個(gè)25位工程師組成的團(tuán)隊(duì)——地鼠隊(duì),負(fù)責(zé)開發(fā)一種定制化的編程語言——Go.
Fitzpatrick對重寫依然在生產(chǎn)環(huán)境使用的代碼感到非常興奮,因?yàn)樗K于有機(jī)會(huì)能在真實(shí)的系統(tǒng)中測試Go了。