前VMware云平台首席技术官Derek Collison曾断言Go语言两年内将成为云计算的主流语言,这也许有些耸人听闻,但Go语言在Google内部确实取得了令人瞩目的成绩。Wired 最近发表文章讲述了Go语言在Google内部崛起的故事,IT经理网编译整理如下:
当一部分“老弱”程序代码不能正常工作时,Google就会派出负责Go语言项目的“地鼠特工队”负责除旧迎新。
Brad Fitzpatrick在使用Google软件最常用的功能时卡住了——下载进度条在99%的地方停下了。虽然下载失败是很常见的问题,但 Fitzpatrick却并无迁就之意,他是地球上最懂技术的企业——Google的工程师,他不能容忍此类问题发生在Google身上。
“1k大的文件都托管不好对Google来说是很丢人的事情,”Fitzpatrick在上周俄勒冈的开源大会上说道,“所以我在内部的Google+站点上就此问题大吐其槽。”
其实Fitzpatrick并不孤单,多年来很多人都曾抱怨dl.google.com系统不够稳定,而该系统极其重要,处理几乎所有Google的下载任务,包括Chrome浏览器安装文件、Android源代码,到体积小些的JavaScript库。
问题的根源是该文件服务器系统的底层代码的年龄已经超过五年,可谓破败不堪。
“如果代码不能得到持续的关爱就会变成一堆屎,”Fitzpatrick说道。
最初的C++代码缺乏规范的文档,自动化测试也不达标,没有人能搞明白它是如何工作的。人们只是不停地做一些增量改变,最后在负责维护的程序员眼 里,这些代码变成了“一坨面条”。系统的不稳定差不多要把服务器运营团队逼疯了,但是没有人有时间重写技术上还能使用的代码。于是Fitzpatrick 自告奋勇接手这个任务,他来自Google的一个25位工程师组成的团队——地鼠队,负责开发一种定制化的编程语言——Go.
Fitzpatrick对重写依然在生产环境使用的代码感到非常兴奋,因为他终于有机会能在真实的系统中测试Go了。