本文编辑: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. spring 定时任务corn表达式

    * * * * * * *  秒 分 时 日 月 周 年 秒 * / - 0-59 分 * / - 0-59 时 * / - 0-23 * 匹配任意数据 / 每隔多少分钟执行一次 - 区间 案例 0 ...

  2. SpringMVC由浅入深day01_10@RequestMapping_11controller方法的返回值

    10 @RequestMapping 10.1 Url路径映射 @RequestMapping(value="/item")或@RequestMapping("/item ...

  3. iOS 严重问题解释(crash)

    问题1:Exception Type: 00000020 Exception Codes: 0x000000008badf00d Exception Note: SIMULATED (this is  ...

  4. ZTree id值太大,ZTree没有生成树,ZTree的id值过大

     ZTree id值太大,ZTree没有生成树,ZTree的id值过大 >>>>>>>>>>>>>>>> ...

  5. springboot测试service层的单元测试

    package com.test.service; import com.task.Application;import com.task.model.po.TaskRecordDo;import o ...

  6. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况

    0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更 ...

  7. weblogic12C出现“java.lang.ArrayIndexOutOfBoundsException: 48188”

    最近将10G的一个项目转移到12C出现数组越界的问题: 解决办法:  jaxen-1.1.1.jarxom-1.0.jaricu4j-2.6.1.jar  把项目中这三个jar包删除后就可以正常部署了 ...

  8. JTAG、JLink、ULINK、ST-LINK仿真器区别(转)

    首先要了解一下JTAG. JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数 ...

  9. windows下nodejs与coffeeScript环境搭建

    [本文档摘抄自网上资料] 安装NodeJS和CoffeeScript方法 首先安装Node(因为nodeJs是服务器端javascript运行环境),到http://nodejs.org/下载对应格式 ...

  10. 【学习笔记】Python基础教程学习笔记

    教程视频网盘共享:http://pan.baidu.com/s/1hrTrR5E 03-python基础.if判断 print 输出数据 print("hahahah")----- ...