Go语言的前世今生

栏目: Go · 发布时间: 5年前

内容简介:今天跟大家分享一下Go语言的发展历程。谷歌的“20%时间”工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。Go语言最开始也是20%时间的产物。

今天跟大家分享一下 Go 语言的发展历程。

谷歌工程师的20%时间

谷歌的“20%时间”工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。

Go语言最开始也是20%时间的产物。

诞生时间Go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。

其实可以看到,Go语言的历史不算很短。

创始人该项目的三位领导者均是著名的 IT 工程师:

罗伯特·格瑞史莫(Robert Griesemer)

Robert Griesemer is an employee of Google and one of the initial designers of the Go programming language. Prior to Go, Robert has worked on code generation for Google’s V8 JavaScript engine and Chubby,[1] a distributed lock manager for Google’s GFS distributed filesystem. He has also worked on the design and implementation of the domain-specific language Sawzall, the Java HotSpot virtual machine, and the Strongtalk system. He has also written a vectorizing compiler for the Cray Y-MP and an interpreter for APL.

罗勃特·派克(Rob Pike)

昵称为罗勃·派克(Rob Pike),来自加拿大的程序员,曾经加入贝尔实验室,为 UNIX小组的成员。曾经参与过贝尔实验室九号计划、Inferno,与编程语言 Limbo的开发。他与肯·汤普逊共同开发了UTF-8。

肯尼斯·汤普逊(Ken Thompson)

肯·汤普逊(英语:Ken Thompson),是美国计算机科学学者和工程师。黑客文化圈子通常称他为“ken”[1]。在贝尔实验室工作期间,汤普逊设计和实现了Unix操作系统。他创造了B语言——C语言的前身,而且他是Plan 9操作系统的创造者和开发者之一。2006年,汤普逊进入Google公司工作,与他人共同设计了Go语言。他与丹尼斯·里奇同为1983年图灵奖得主。

此外,肯·汤普逊还参与过正则表达式和UTF-8编码的设计,改进了文本编辑器QED,创造了ed编辑器。他曾制造过专门用于下国际象棋的电脑“Belle”,并创建了残局数据库。

这里插一句额外的话,昨天听说某H公司要清理35岁以上的开发工程师和40岁以上的交付工程师,那我们看看上面大师的年龄:

罗勃特·派克61岁 肯尼斯·汤普逊74岁

也许国外的工程师才是真正的工程师

大事件

2007 年 :雏形设计

2009 年 :首次公开发布

2010 年 :当选 2009 年年度语言,谷歌投入使用

2011 年 :Google App Engine 支持 Go 语言

Go语言的logo和吉祥物

logo如下,有没有给人快速的感觉:

Go语言的前世今生

Go语言的吉祥物如下,像鼹鼠:

Go语言的前世今生

其实是一种英文名为gopher的小动物,中文叫囊地鼠:

Go语言的前世今生

更多的介绍看这里:

https://blog.golang.org/gopher

使用Go的项目

Docker, a set of tools for deploying Linux containers

Doozer, a lock service by managed hosting provider Heroku

Gogs, self-hosted Git Service.

InfluxDB, an open source database specifically to handle time series data with high availability and high performance requirements.

Juju, a service orchestration tool by Canonical, packagers of Ubuntu Linux

Packer, a tool for creating identical machine images for multiple platforms from a single source configuration

Snappy, a package manager for Ubuntu phone developed by Canonical.

Syncthing, an open-source file synchronization client/server application

Go的开源框架

Beego, high-performance web framework in Go, used for web apps and backend services.[citation needed]

Martini, package for web applications/services.[citation needed]

Gorilla, a web toolkit for Go.[citation needed]

Enduro/X ASG, a cluster middleware, application server, distributed transaction and multi-processing framework for Go.

AeroFS, private cloud filesync appliance provider which migrated some microservices from Java to Go with major memory footprint improvements

Chango, a programmatic advertising company uses Go in its real-time bidding systems.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

(美)(C.A.谢弗)Clifford A.Shaffer / 电子工业出版社 / 1998-8 / 35.00元

本书综合“数据结构与算法”的知识梳理、习题解答及上机辅导等于一身;精心挑选了覆盖教学大纲的五百多道题目,并且提供所有题目的参考答案;对于较难的算法和上机题,给出了详细的分析和说明;对于学习的重点和难点、易犯的错误、题目的难易和重要性,以及国内教材的差异等都给出了必要的说明。 本书可给使用各种教材讲授和学习“数据结构与算法”(或者“数据结构”)的师生参考,是系统复习该课程和准备应考计算......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器