首先我们看一下官网的介绍:
Go 编程语言是一个开源项目,旨在提高程序员的工作效率。
Go 具有表现力、简洁、干净和高效。它的并发机制可以轻松编写程序,充分利用多核和联网机器,而其新颖的类型系统可以实现灵活和模块化的程序构建。Go 可以快速编译为机器代码,且具有垃圾收集的便利性和运行时反射的能力。它是一种快速的、静态类型的、编译的语言,感觉就像一种动态类型的解释型语言。
1、背景
go是一个Google公司推出的一个开源项目(系统开发语言),它是基于编译、垃圾收集和并发的编程语言。并将其开源并在BSD许可证下发行。(多核CPU2005提出、Java是1995年发布的、C++是1985年、Python是1991年)
Go最初的设计由Robert Griesemer,Rob Pike 和Ken Thompson在2007年9月开始的,官方的发布是在2009年11月。2010年5月由Rob Pike公开的将其运用于google内部的一个后台系统。目前在google App Engine也支持go语言(目前仅支持三种:Java、Python和Go)
Robert Griesemer:
曾协助制作Java的HotSpot编译器和Chrome浏览器的JavaScript引擎V8
Rob Pike:
早年在贝尔实验室和Ken Thompson还是编程的小弟,如今已成长为业内的领军人物。UTF-8两个发明人之一。Go设计团队第一任老大。如今也退休并被谷歌尊养起来了。Rob Pike仍旧活跃在各个Go论坛组中,适当地发表自己的意见。
顺便说一句,Go语言的地鼠吉祥物是由Rob Pike的媳妇Renee French设计的。
顺便另说一句,Rob Pike曾获得1980年奥运会射箭银牌。
Ken Thompson:
大名鼎鼎、如雷贯耳,Unix操作系统的发明人之一(排在第一号),C语言前身B语言的设计者,UTF-8编码设计者之一,图灵奖得主。老爷子今年快78岁了(1943年生)。早年一直再贝尔实验室做研究,60多岁的时候被谷歌尊养起来。2007年,老爷子和Rob Pike、Robert Griesemer一起设计了做出的Go语言。老爷子目前基本不参与Go的设计和开发。
在2011年的一次采访中,老爷子幽默地谈到设计Go语言的初衷是他们很不喜欢C++,因为C++中充满了大量的垃圾特性。
2、目前哪些公司在使用Go
谷歌
作为golang语言的诞生地,谷歌应该是最早使用golang语言的公司了。公司很多的服务都采用golang.
谷歌浏览器,youtube,谷歌地球等项目都使用到了golang,而且其他的一些小项目也都采用了golang,可以说golang正在一步步占据着谷歌后端的地位。
Twitch
作为全球最大的视频游戏直播平台,Twitich后台采用的语言就是golang,它不仅简单高效,而且在高平发的时候表现尤其优秀。
通过golang和C++的组合,Twitch实现了将RTMP流转化成了HTML流。
由于高效的垃圾回收机制,Twitch有更大的内存来为用户提供高质量的视频流。
七牛
国外有Dropbox,国内就有七牛,作为国内最早的golang布道者,七牛从创建产品一开始就全部采用golang语言进行开发。实践证明,他们的选择是正确的,目前七牛的服务是非常稳定的,并且他们的开发效率也是很高的。
知乎
我们都知道知乎最开始使用的是python语言,但是随着业务的发展,语言的瓶颈显得越来越明显,他们急需要找到一门静态语言来提高公司的发展速度,在java和golang的抉择中,他们选择了golang。
字节跳动
作为一个未上市的公司,字节跳动的发展不可不谓迅猛,短短几年之间他们的员工总数就已经破了10万人。
作为一家后起之秀,字节跳动在技术上也是走在时代的前列的。他们没有选择阿里的java系,也没有选择腾讯的c++系,而是决定使用了golang。
字节跳动对golang的选择是非常彻底的,公司几乎所有的业务产品都采用golang语言进行开发,可以说字节跳动誓要golang一条路走到黑。
京东
京东云消息推送系统、云存储,以及京东商城等都有使用Go做开发。
小米
小米对Golang的支持,莫过于运维监控系统的开源
此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用Golang。
Shopee
Shopee东南亚最大的电商平台,除了少部分服务仍用Java以外,其他大部分业务都是使用golang
3、目前的编程语言市场
TIOBE 2016年7月编程语言排行榜
TIOBE 2021年1月编程语言排行榜
4、Golang的性能如何
后面课程会补上Golang与Java的性能测试对比2:1~8:1
5、Go的前景
虽然golang不如java的生态圈成熟,但是我们都知道生态圈是由时间累积出来的,谁又能说十年后golang的生态圈会不如java呢?
就目前的中国互联网公司的行情来看,越来越多的互联网公司选择了golang作为业务的开发语言