`
- 浏览:
474072 次
- 性别:
- 来自:
北京
-
提起Go语言的出身,我们就必须将我们饱含敬意的眼光投向持续推出惊世骇俗成果的贝尔实验室。贝尔实验室已经走出了多位诺贝尔奖获得者,一些对于现在科技至关重要的研究成果,比如晶体管、通信技术、数码相机的感光元件CCD、光电池等都源自贝尔实验室。该实验室在科技界的地位可想而之,是一个毫无争议的科研圣地。
这里我们重点介绍一下贝尔实验室中一个叫计算科学研究中心的部门对于操作系统和编程语言的贡献。回溯至上世纪的1969年(估计大部分读者那时候都还没出世),肯•汤普逊(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)在贝尔实验室的计算科学研究中心里开发出了UNIX这个大名鼎鼎的操作系统,还因为开发UNIX而衍生出了一门同样赫赫有名的编程语言,C语言。对于很大一部分人而言,UNIX就是操作系统的鼻祖,C语言也是计算机课程中最广泛使用的编程语言。UNIX和C语言在过去的几十年以来已经造就了无数的成功商业故事,比如曾在90年代如日中天的太阳微系统(Sun MicroSystems),现在正如日中天的苹果的Mac OS X操作系统其实也可以认为只是UNIX的一个变种(FreeBSD)。
虽然已经取得了如此巨大的成就,贝尔实验室的这几个人并没有因此而沉浸在光环中止步不前。他们从上世纪80年代又开始了一个名为Plan 9的操作系统研究项目,目的就是解决UNIX中的一些问题,发展出一个UNIX的后续替代系统。在之后的几十年中,该研究项目又演变出了另一个叫Inferno的项目分支,以及一个名为Limbo的编程语言。
Limbo是用于开发运行在小型计算机上的分布式应用的编程语言。它支持模块化编程,编译期和运行时的强类型检查,进程内基于具有类型的通信通道,原子性垃圾收集,和简单的抽象数据类型。它被设计为:即便是在没有硬件内存保护的小型设备上,也能安全运行。
Limbo语言被认为是Go语言的前身,不仅仅因为是同一批人设计的语言,而是实际上Go语言确实从Limbo语言中继承了众多优秀的特性。
贝尔实验室后来经历了多次的动荡,包括肯•汤普逊在内的Plan 9项目原班人马加入了Google。在Google,他们创造了Go语言。早在2007年9月,Go语言还是这帮大牛的20%自由时间的实验项目。幸运的是,到了2008年5月,Google发现了Go语言的巨大潜力,从而开始全力支持这个项目,让这批人可以全身心投入Go语言的设计和开发工作。Go语言的第一个版本在2009年11月正式对外发布,并在此后的两年内快速迭代,发展迅猛。第一个正式版本的Go语言于2012年3月28日正式发布,让Go语言迎来了第一个引人瞩目的里程碑。
基于Google对开源的一贯拥抱态度, Go语言也自然而然地选择了开源方式发布,并使用BSD授权协议。任何人可以查看Go语言的所有源代码,并可以为Go语言发展而奉献自己的力量。
Google作为Go语言的主推者,并没有简简单单地把语言推给开源社区了事,不仅组建了一个独立的小组全职开发Go语言,还在自家的服务中逐步增加对Go语言的支持,比如对于Google有战略意义的云计算平台GAE(Google AppEngine),很早就开始支持Go语言。按目前的发展态势,在Google内部Go语言有逐渐取代Java和Python主流地位的趋势。在Google的更多产品中,我们将看到Go语言的踪影,比如Google最核心的搜索和广告业务。
在本书的序中,已经清晰诠释了为什么在语言泛滥的时代Google还要设计和推出一门新的编程语言。按照已经发布的Go语言的特性,我们有足够的理由相信Google推出此门新编程语言绝不仅仅是简单的跑马圈地运动,而是为了解决切实的问题。
让我们再来看看Go语言的主要作者们:
肯•汤普逊(Ken Thompson,http://en.wikipedia.org/wiki/Ken_Thompson):设计了B语言和C语言,创建了Unix和Plan 9操作系统,1983年图灵奖得主,Go的共同作者。
罗布•派克(Rob Pike,http://en.wikipedia.org/wiki/Rob_Pike):Unix小组的成员,参与Plan 9和Inferno操作系统,参与 Limbo和Go语言的研发。《UNIX编程环境》作者之一。
罗伯特•格里泽默(Robert Griesemer):曾协助制作Java的HotSpot编译器和Chrome浏览器的JavaScript引擎V8。
拉斯•考克斯(Russ Cox,http://swtch.com/~rsc/):参与Plan 9操作系统的开发,Google Code Search项目负责人。
伊安•泰勒(Ian Lance Taylor):GCC社区的活跃人物。gold连接器和GCC过程间优化LTO的主要设计者,Zembu公司的创始人。
布拉德•菲茨帕特里克(Brad Fitzpatrick,http://en.wikipedia.org/wiki/Brad_Fitzpatrick):LiveJournal 的创始人,著名开源项目memcached的作者。
虽然我们这里只列出了一部分,大家已经可以看出这个语言开发团队的空前强大。这让我们在为Go语言的优秀特性而兴奋之外,还非常看好这门语言的发展前景。
本文摘自《Go语言编程》
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
前言:为什么我们需要一门新语言5123459678... // 正常代码}}}}}finally {}完成同样的功能,相应的Go代码只需要写
golang语言文档
《Go语言编程》-许式伟 《Go程序设计语言》-译本 Go语言圣经 《Go语言学习笔记》-雨痕 - 柴树杉,曹春晖 《go语言高并发与微服务实战》 《go语言编程之旅》 :books:: golang实现分布式缓存: :books:: golang实现rpc:...
讲述golang编程语言基础,ppt格式,我看了下 还不错 可以参考
Go语言编程 高清版 许式伟 个人推荐 当前最火的Go类书籍 Go编程 许式伟 PDF
本书作者背景极强,许式伟为原金山WPS首席架构师、曾是盛大创新院研究员,目前是国内Go语言实践圈子公认的Go语言专家。参与本书写作的几位作者都是实际用Go语言开发的项目的开发人员,有较强的实战经验。 这本书...
七牛是国内第一家核心服务全部使用go语言的公司,ceo许式伟在go语言方面有着独到的见解
目前国内中文版只有七牛运存储公司CEO许式伟等编写的go语言编程。尽管该书填补了go语言在国内的空白,但个人感觉介绍的还是比较简单,适合初级入门。本书是英文原版,内容非常详细,适合对go语言的深入学习。
开源力量公开课第2期-Go, 基于连接与组合的语言
《Go语言编程》许式伟 著,PDF带目录,包括源代码精校版
许式伟的《go语言编程》里的一个小项目,我动手将其实现了,可运行。作为新手的一个练手小项目挺好的,这个项目的依赖管理用的是goland里的goroot、gopath。希望下载的朋友学习go语言一帆风顺!
许式伟的《go语言编程》里的一个小项目,我动手将其实现了,可运行。作为新手的一个练手小项目挺好的,这个项目的依赖管理用的是goland里的goroot、gopath。希望下载的朋友学习go语言一帆风顺!
Go语言程序设计(中文)-Programming in Go Creating Applications for the 21st Century。作者:Mark Summerfield,译者:许式伟 , 吕桂华 , 徐立, 何李石。入门的一个非常好的资料。分2卷上传,这里是第一卷。...
学习语言本项目记录自己的学习Golang的过程中遇到的一些优秀内容,包括Golang的相关学习资源及Golang的优秀项目代码等。编程。作者: 。关于Golang的学习教程,可以参考 。本项目创造于2020年8月10日,最近一次更新...
Go语言程序设计(中文)-Programming in Go Creating Applications for the 21st Century。作者:Mark Summerfield,译者:许式伟 , 吕桂华 , 徐立, 何李石。入门的一个非常好的资料。分2卷上传,这里是第二卷。...
高级系统架构师培训ppt,希望对大家有帮助
2-5-谈谈服务治理-许式伟 2-6-美团万亿级对象存储系统-李凯 QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融...
该文档来自MDCC 2014中国移动开发者大会。七牛云存储许式伟发表了题为“移动开发者新盈利模式”的主题演讲,欢迎下载!
2020 年 1 月 4 日 – 5 日,...作为一个充满技术情怀的社区,ECUG 全称 Effective Cloud User Group(实效云计算用户组),由七牛云 CEO 许式伟发起,并集结了一批具有高端视角并仍醉心于技术本身的同仁,共同关注云