TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言

本文编辑:Cynthia

2009年,谷歌发布第二款开源编程语言,Go语言。8年过去了,很多初创公司早期使用Go进行开发,包括云计算巨头Docker。而Go语言在中国的普及程度还比不上JAVA和C语言,但是有一家公司,坚持在使用Go,并且刚刚获得10亿元的融资,这家公司就是七牛云。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

早在2009年,Go语言刚刚发布的时候,在中国的一名程序员许式伟惊奇的发现,Go语言与他带领的团队所做的CERL项目在服务器编程模型这一点上,CERL2.0与Go语言居然完全一样,包括所有细节的决策上也都相同。

有人建议许式伟将CERL开源,但是许式伟在使用Go一周后决定,不让CERL面世,因为Go已经完成了CERL的目标,并且远超预期。后来,许式伟成为Go语言在中国的布道师,并且编著了《Go 语言编程》和《Go 语言程序设计》两本书。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

许式伟做CERL项目的初衷,是当时在盛大创新院重启分布式存储项目,选择了用C++语言来开发,他希望再造一个既有Erlang编程思想的优势,又可以客服Erlang语言劣势的新*。CERL项目经历了2个大版本,而Go语言发布后就结束了它的历史使命。

许式伟2007年建立金山实验室,选择了JAVA作为主体开发语言,2009年加入盛大创新院,选择C++作为开发语言,而2011年许式伟创办七牛云的时候,坚决的选择了Go语言,并在邮件中说,创业过程中的很多选择都可能会被证明是错的,但是选择Go将会成为最正确的选择。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

2017年8月,七牛云获得10亿元的融资,成为国内领先的云存储服务平台,时至今日,许式伟依然在坚持着Go。

七牛云的第一个业务是云存储,许式伟完全用Go来开发存储系统,这是全球第一个用Go写的云存储和云服务。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

2014年七牛云开展大数据相关业务,同样面临技术选型的问题,JAVA和JVM平台的语言都很有优势,但是许式伟认为Go未来将会占领整个基础设施领域,大数据是其中具有关键意义的内容,因此,最终还是面向未来做选型,使用了Go。

相比其他语言,Go有部署简单、并发性好、执行性能好、语言设计良好等优势,在知乎上一位答主这样介绍Go:

从学术角度讲,Go语言其实非常平庸,不支持许多高级的语言特征。但从工程角度来说,Go语言规范并且足够简单灵活,只要有其他语言基础的程序员都可以很快的上手。

Go有非常完善的工具链,比如gofmt自动排版Go代码,杜绝了不同人写代码排版风格不一致的问题,提高团队协作性。

Go编译生成的是一个静态可执行文件,除了glibc没有其他外部依赖,让部署变得非常方便。

单个Go应用可以有效利用多个CPU核,并行执行的性能好,执行性方便虽然不如C和JAVA,但是比原生Python应用要高级,适合写瓶颈业务。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

几年的发展以后,Go已经不再是一门小众语言,通过 Google Trends 搜索 golang 发现全世界 Go 最火的地区在中国。

许式伟是Go在中国的布道师,用Go语言打造的七牛云平台服务着秒拍、小咖秀等互联网公司,那么,你会用Go吗?

七牛云CEO将担任11月9日在北京国家会议中心开幕的第六届TOP100全球软件案例研究峰会架构专场的联席主席,现场对来自全球各地的优秀软件研发开发者进行点评。

目前架构专场已入围的案例包括Uber、百度、小米、途牛、淘宝、360、中兴等大厂,从架构设计、微服务、UI架构思考、架构重构等方面介绍各自团队的开发实践。

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
 

许式伟将从对架构的理解、业务的理解以及开发实践等角度给出开发者建议,如果你想要了解Go,如果你想向Go的布道师取经,可以到现场进行交流。

更多TOP100案例信息及日程请前往[官网]查阅。4天时间集中分享2017年最值得学习的100个研发案例实践。本平台共送出10张开幕式单天免费体验票,数量有限,先到先得。

上一篇:ElasticSearch排序Java api简单Demo


下一篇:JavaScript -- Location