在google中,大部分的项目都是采用C C++开发,少量地用了java,其次 才是python;在2007年的某一天,google的首席工程师在编译一个C++项目 过程中,尽管在google早就实现了分布式编译系统,但是Rob Pike和Robert Griesemer实在受够了那个漫长的编译等待时间,于是突发灵感与坐在旁边的 Ken Thompson一起讨论实在有必要发明一个新的编程语言,这个编程语言必 须有近乎C语言的执行效率和近乎解析型语言的开发效率,以及近乎完美的编译 速度,于是他们取名这个语言为go语言,就如每一个go语言的使用者都成为 gopher,gopher是一种生活在加拿大的小动物,它的中文名叫做囊地鼠,这 种动物有个特点就是生活在底下,哈哈,当然这个不是最关键的,他们最大的 特点就是挖洞速度特别快,当然可能不止是挖洞啦,取名为go意为语言的运行 速度、开发速度、学习速度(develop)都像gopher一样快。
被称为GO语言之父的Rob Pike说,你是否同意GO语言,取决于你是认可 少就是多,还是少就是少(Less is more or less is less)。Rob Pike以一种非常 朴素的方式,概括了GO语言的整个设计哲学--将简单、实用体现得淋漓尽致。
很多人将GO语言称为21世纪的C语言,因为GO不仅拥有C的简洁和性 能,而且还很好的提供了21世纪互联网环境下服务端开发的各种实用特性,让 开发者在语言级别就可以方便的得到自己想要的东西。
强大的研发团队
go的应用
使用go语言开发的开源项目比较著名的主要有:
Docker,火热的容器化技术; Kubernetes,Goole Borg的开源实现; Etcd,类似zookeeper的高可用key-value存储; TIDB,国人开发的Google spanner的开源实现;
许多大厂都已经拥抱 Go 语言,包括以 Java 打天下的阿里巴巴,更别提深 爱着 Go 语言的滴滴、今日头条、小米、奇虎 360、京东等明星公司。同时, 创业公司也很喜欢 Go 语言,主要因为其入门快、程序库多、运行迅速,很适 合快速构建互联网软件产品,比如轻松筹、快手、知乎、探探、美图、猎豹移 动等等,更比如前不久泄漏的B站后端源码都是采用go语言开发。
从业务维度看,在云计算、微服务、大数据、区块链、物联网等领域,Go 语言早已蓬勃发展。有的使用率已经非常之高,有的已有一席之地。即使是在 Python 为王的数据科学和人工智能领域,Go 语言也在缓慢渗透,并初露头角。