本文编辑:Cynthia

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

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

 

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

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

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

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

 

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

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

TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言的更多相关文章

  1. 许式伟看 Facebook 发币(上): 区块链, 比特币与 Libra 币

    你好,我是七牛云许式伟. Facebook(脸书)于6月18日发布了其加密数字货币项目白皮书.该数字货币被命名为 Libra(天秤座),象征着平衡与公正.此前,BBC 报道说这个数字货币叫 Globa ...

  2. 七牛CEO许式伟:移动游戏资源存贮的大趋势

    (国内知名Android开发论坛eoe开发者社区推荐:http://www.eoeandroid.com/) 9月14日,eoe移动开发者大会正式在北京国家会议中心召开,七牛云储存CEO许式伟先生做了 ...

  3. ueditor上传图片到七牛云存储(form api,java)

    转:http://my.oschina.net/duoduo3369/blog/174655 ueditor上传图片到七牛云存储 ueditor结合七牛传图片 七牛的试炼 开发前的准备与注意事项说明 ...

  4. 七牛云java(服务端)通用工具类

    前言 需要安装lombok插件. 功能列表 上传本地文件 上传Base64图片 获取文件访问地址 上传MultipartFile 代码 pom.xml <dependency> <g ...

  5. 七牛云图片存储---Java

    一.新建存储空间 到七牛云官网注册一个账号 新建一个存储空间 到个人中心获取秘钥 二.新建Java项目 1.pom.xml配置 <dependency> <groupId>co ...

  6. Java 七牛云存储与下载

    七牛云的文件上传和下载(私有空间) 1.本篇博客参考网址 https://blog.csdn.net/peaceful000/article/details/53171578 https://blog ...

  7. java(SSM)上传文件到七牛云(对象存储)

    项目中会用到大量的图片和小视频,为了分担服务器压力,将文件都放在七牛云.这里的思路很简单, 就是移动端.pc端把文件上传到服务器,服务器做一个临时缓存,保存必要的信息到数据库后, 将文件上传到七牛云, ...

  8. 根据短链生成二维码并上传七牛云(Java)

    通过短链生成二维码并上传七牛云(Java) 前言 网上这种帖子其实也是很多,大部分搜出来的是CSDN的,然后点进去一看都几乎一样:所以这次给个自己实践的例子记录. 这次也是通过搜索得到的一部分能实现这 ...

  9. 许式伟:我与Go语言的这十年[转]

    2017-12-18 许式伟 Go中国 2007 年 9 月 20 日,关于设计一门全新语言的讨论正式开始,这门全新的语言,就是后来的 Go.时至今日,Go 语言已经发布到 1.9 版本,走过了整整十 ...

随机推荐

  1. [原]unity3d 纹理旋转

    纹理旋转实现思路:纹理坐标*平移矩阵*旋转矩阵(类似顶点旋转): 矩阵一般要求中心点为(0,0) 而纹理中心点默认(0.5,0.5);所以先得平移到(0,0):可以考虑乘以平移矩阵[1,0,0,0,1 ...

  2. 06-Linux RPM 命令参数使用详解

    rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...

  3. Eclipse cdt解决github导入的项目无法打开声明的bug (cannot open declaration)

    概述: 我利用eclipse 的git插件clone github上的远程项目(C++)到本地时遇到一个问题:clone下来的项目没有C++特性,无法使用open declaration等操作,下面是 ...

  4. win10进入到安全模式的三种方法

    这里介绍三种方法: 如果能够进入到系统 点击开始--设置--更新和安全--恢复,右侧点击高级启动中的立即重启 能够进入到登陆界面 进入到登录屏幕后,在按住 Shift 键的同时依次选择“电源” > ...

  5. CM和CDH的安装-进阶完成

    安装Cloudera Manager Server 和Agent 1.在cdh1解压cloudera-manager-el6-cm5.9.0_x86_64.tar.gz(cdh1节点)tar -zcv ...

  6. hwi-web安装

    hwi是hive的简单简单web端 安装hwi之前需要下载apache-hive-2.1.1-src,将hwi/web的打成hive-hwi-2.1.1.war.安装配置apache-ant-1.10 ...

  7. 编译Android 必须安装的库

    要安装的库: 正在卸载 build-essential ...正在卸载 g++-multilib ...正在卸载 g++ ...正在卸载 gcc-multilib ...正在卸载 gcc ...正在卸 ...

  8. sklearn特征抽取

    特征抽取sklearn.feature_extraction 模块提供了从原始数据如文本,图像等众抽取能够被机器学习算法直接处理的特征向量. 1.特征抽取方法之 Loading Features fr ...

  9. WP8.1学习系列(第十二章)——全景控件Panorama开发指南

    2014/6/18 适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1 全景体验是本机 Windows ...

  10. 【cs229-Lecture10】特征选择

    本节课要点: VC维: 模型选择算法 特征选择 vc维:个人还是不太理解.个人的感觉就是为核函数做理论依据,低维线性不可分时,映射到高维就可分,那么映射到多高呢?我把可分理解为“打散”. 参考的资料: ...