开启去02.去语言的前世今生

  

开启去02.去语言的前世今生

  

一、为什么需要一个新的语言

  

最近十年来,C/c++在计算领域没有很好得到发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么执行效率高,但低效的开发和编译,如c++;要么执行低效,但拥有有效的编译,如. net, Java,所以需要一种拥有较高效的执行速度,编译速度和开发速度的编程语言,就去横空出世了。

  
  

传统的语言比如c++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写——编译——运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。

     
      <李>   

    人力成本越来越高

      李   <李>   

    机器越来越便宜

      李   <李>   

    机器的性能越来越厉害

      李   <李>在开发效率和运行速度上达到平衡李   
  

去出现之前,无论汇编语言,还是动态脚本语言,在执行效率和开发效率上都不能兼备。

  
  

执行效率执行速度:C/c++比;Java比;PHP
开发效率发展效率:PHP比;Java比;C/c++

     

二、谷歌工程师的20%时间

  

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

  

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

  

三、创始人

  

去的三个作者分别是:罗伯·派克(罗伯。派克),Ken Thompson(肯。汤普森)和罗伯特·Griesemer(罗伯特。格利茨默)。

  
      <李>   

    罗伯·派克:曾是贝尔实验室(贝尔实验室)的Unix团队,和Plan 9操作系统计划的成员。他与汤普森共事多年,并共创出广泛使用的utf - 8字元编码。

      李   <李>   

    Ken Thompson:主要是B语言,C语言的作者,Unix之父.1983年图灵奖(图灵奖)和1998年美国国家技术奖(国家技术勋章)得主。他与丹尼斯·里奇是Unix的原创者.Thompson也发明了后来衍生出C语言的B程序语言。

      李   <李>罗伯特Griesemer:在开发去之前是谷歌V8,胖胖的和HotSpot JVM的主要贡献者。   
  

开启去02.去语言的前世今生

  
  

此外还有Plan 9开发者拉斯考克斯和曾改善目前广泛使用之开原码编译器GCC的伊恩·泰勒。

     

四,去的缔造与发展

  

4.1去的命名

  

开启去02.去语言的前世今生

  

这是一封由罗伯·派克在2007年9月25号,星期二,下午三回复给罗伯特?Griesemer Ken Thompson的有关编程语言讨论主题的邮件,邮件正文大意为:在开车回家的路上我得到了些灵感。1。给这门编程语言取名为“去”,它很简短,易书写。工具类可以命名为:作为,高尔,果阿。交互式的调试工具也可以直接命名为“去”。语言文件后缀名为.go等等

  

这就是去语言名字的来源,自此之后罗伯特,罗伯特和肯三个人开始在谷歌内部进行了研发,一直到2009年了,去正式开源了,去项目团队将2009年11月10日,即该语言正式对外开源的日字作为其官方生日。源代码最初托管在http://code.google.com上,之后几年才逐步的迁移到GitHub上。

  

4.2去的发展过程中的记事

  

<强>第一个事情是在开发设计去语言过程中的第一个重大惊喜是收到了以下这封邮件:

  

开启去02.去语言的前世今生

  

这是一封由伊恩·兰斯泰勒在2008年6月7日(星期六)的晚上7:06写给罗伯特?Griesemer Rob Pike Ken Thompson的关于去gcc编译器前端的邮件。邮件正文大意如下:我的同事向我推荐了这个网站http://?go_lang。html。这似乎是一门很有趣的编程语言。我为它写了一个gcc编译器前端。虽然这个工具仍缺少很多的功能,但它确实可以编译网站上展示的那个素数筛选程序了。

  

伊恩?兰斯泰勒的加入以及第二个编译器(gcc)的实现在带来震惊的同时,也伴随着喜悦。这对去项目来说不仅仅是鼓励,更是一种对可行性的证明。语言的第二次实现对制定语言规范和确定标准库的过程至关重要,同时也有助于保证其高可移植性,这也是去语言承诺的一部分。自此之后伊恩?兰斯泰勒成为了设计和实现去语言及其工具的核心人物。

开启去02.去语言的前世今生