我 2015年开始在团队里面推动用golang, 基本上除了历史代码还用c++写的. 其他写业务代码, 包括java和python都转成了golang.

语法简单, 有编程基础的, 安装官方教程学一遍, 一周内基本就可以上手. 然后不会再有人在办公室讨论c++语法


有GC, 并且GC时间很短, 从twitter的线上数据看, 平均gc时间不到50ms.


库非常丰富, 没人喜欢重新造轮子, 现在软件开发就是面向库的编程模式, 几乎所有库都用原生的golang库或者cgo的绑定库. 从http framework, sql解析器到opencv应有尽有. 要是实在没有, 自己写一个cgo的绑定也难, 比Java JNI之类的好学.


部署简单, 就编译出一个静态文件, 一般没有库依赖. 对比python的线上部署, 简直不要太开心


性能不错, 对比c++/java, 就算不做性能优化, 一般的高并发应用都能满足. 优化也简单,campoy/go-tooling-workshop

参考这个:


上面这几点分开说, golang都不是做的最好的, 但它很好的平衡了运行性能和程序员的心智负担.


说白了就相当于一个运行的飞快的的Python, 谁不喜欢? 在BAT这种有历史代码的公司不好更替, 但是在新公司新项目发展起来如火如荼.

在新型领域, 如区块链, Newsql, 云计算, golang和rust的比例越来越高.

比如MIT 6.824教分布式系统课程, 以前的课程作业是c++, 现在已经换成了golang.

斯坦福教操作系统的课程也换成了rust.