Go语言起源

Go语言的前世今生

时代背景

当今社会主流语言基本都诞生于上世纪90年代或者更早,例如Python(1991)、Java(1995)、C(1972)、C++(1983)、JavaScript(1995)、C#(2001)、PHP(1995)等等,同时我们也需要明白计算机硬件的发展,在2005年4月,英特尔的第一款双核处理器平台包括采用英特尔955X高速芯片组、主频为3.2GHz的英特尔奔腾处理器至尊版840,此款产品的问世标志着一个新时代来临了,那就是双核和多核处理器的时代。我们结合这些标志性的事件来看就不难发现,主流的服务端语言诞生的年代还都是单核年代,也就是说,当时的编程语言还是单核环境下,也就没有我们现在大家耳熟能详的并发编程概念。

2019年9月编程语言趋势


Go语言的诞生

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、Mac OS X、Windows等操作系统。
对比上文所举的编程语言,在Go语言诞生的2007年,那时候已经处于双核时代,这就造就了Go语言在设计之初就考虑到了多核CPU下的程序运行,这也就造就了Go语言天生支持多核环境下编程的天赋技能。


Go语言的主要特性

Google是这样描述Go语言的:“试图将像Python这样的动态语言的工作开发速度与C或C ++等编译语言的性能和安全性结合起来。在我们的Go to date实验中,典型的构建感觉瞬间完成; 甚至大型二进制文件只需几秒钟即可编译。编译后的代码接近C的速度.Go旨在让您快速移动。我们希望Go成为一种优秀的系统编程语言,支持多处理和面向对象设计的全新轻量化,具有真正的闭包和反射等一些很酷的功能。

GO语言的主要特性主要包括

  • 并发与协程
  • 基于消息传递的通信方式
  • 丰富实用的内置数据类型
  • 函数多返回值
  • defer机制
  • 反射(reflect)
  • 高性能HTTP Server
  • 工程管理
  • 编程规范

Go语言的应用前景

Go语言凭借着天生的并发优势,出众的性能以及亲民的语法,迅速的蹿红各类IT领域,在人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域都有着广泛的应用。

以下是应用Go语言的公司: