当前位置:   article > 正文

Golang学习笔记(四):Go原始设计思想及核心特性_golang 思想

golang 思想

1 概述

本人学习Golang的方式和一般人不同,采用了先从大处着手,先从大的方面把握Go编程的总体框架和风格,因此首先就有了前面的三篇文章:

通过上面三篇文章,同时你又有C、C++基础,那么恭喜你!你应该可以开始实战编程了!当然,在编程的过程中你可能还需要不断的问问度娘。

本篇文章还是力图从大处着手,通过对Go设计团队介绍、Go设计团队人员的一些演讲摘要以及总结一些核心特性让你对Go有个更宏观的认识。

2 Go语言设计团队堪称豪华

2.1 Ken Thompson

1943年出生于美国新奥尔良,1966年加入了贝尔实验室,不久独自设计了B语言,并用B语言开发了Unix操作系统的第一个版本,1971年与丹尼斯·里奇共同发明了C语言,并在1973年两人共同用C语言重写了UNIX,1983年图灵奖得主。2006年进入谷歌,2007年和Rob Pike、Robert Griesemer三人一起设计出了Go语言。

在2011年的一次采访中,Ken幽默地谈到设计Go语言的初衷是他们很不喜欢C++,因为C++中充满了大量的垃圾特性。

2.2 Rob Pike

早年在贝尔实验室和Ken Thompson结对编程,公开场合表示Ken是他的导师,也是Unix的先驱,是贝尔实验室最早和Ken Thompson以及 Dennis M. Ritche 开发Unix的猛人,和Ken Thompson一起发明了UTF-8。Go设计团队第一任Leader。

如今虽然和Ken一样已退休并被谷歌尊养起来了,但Rob Pike仍旧活跃在各个Go论坛组中,适当地发表自己的意见。后面会引用他2012年在旧金山给Go SF的演讲稿的部分内容让我们对Go的原始设计思想有个大的了解。

顺便说一句,Go语言的地鼠吉祥物是由Rob Pike的媳妇Renee French设计的。

2.3 Robert Griesemer

Robert Griesemer是Go编程语言的最初三名设计者之一。在此之前,Robert致力于Google V8 JavaScript引擎的代码生成、特定领域语言Sawzall、Java热点虚拟机和Strongtalk系统的设计和实现。他曾经为Cray Y-MP编写了一个矢量编译器,并为APL编写了一个解释器。

目前主要维护Go白皮书和代码解析器等。

2.4 Russ Cox

Russ Cox毕业于麻省理工和哈佛大学,曾在贝尔实验室参与过Plan 9 和 Unix操作系统的开发。在Go开始设计不久,Russ Cox 和Ian Lance Taylor 也加入了 Go 语言的设计团队,由三人团队变成了5人团队。他们 5 人一起开发了两款编译器和一个标准库,为 2009 年 11 月 10 日 Go 语言以开源方式发布打下了基础。

Russ Cox为目前Go团队的leader,他非常年轻,代码提交量排第一。目前很多拿不定主意的决策都是Russ Cox最后拍板。

2.5 Ian Lance Taylor

在GCC的世界中,没有人比Ian更火。在GCC maillist中,Ian的身影呈现在前端中端和后端中,粗略估计1/3的帖子他都给出有价值的回复,绝对不是灌水。

Google推出了go编程语言,Ian基于语言规范独立完成了GCC前端。他写了Gold连接器(比binutils快),最早的GCC MIPSR4000后端,是GCC过程间优化LTO的主要设计者之一,为PostgreSQL数据库增加功能。他曾经是Zembu公司的创始人,目前在Google工作。gccgo编译器的作者和cgo工具链维护者。活跃于各个go订阅组,耐心解答各种问题。

2.6 Brad Fitzpatrick

Brad Fitzpatrick是 LiveJournal.com 的创始人,还是 memcached 等诸多自由软件项目的作者,2007 年选择加入 Google,OpenID、PubSubHubbub 等项目均有他的贡献。2011年在为 Android 项目效力一年半多后,正式成为 Go 语言项目的全职“地鼠”(gopher),目前是net/http标准库包的主要维护者。

当然,Go团队还有很多牛人,就不一一去人肉了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/876757
推荐阅读
相关标签