热门技术教程

世界上还需要另外一个编程语言吗?


次阅读 | 2011-09-27 | 标签:

新闻来源:oreilly.com
——Rob Pike讨论为什么Google要开发新的Go语言

Rob Pike总是会在恰当的地方做事。在80年代初期,他在贝尔实验室与Brian Kernighan以及Ken Thompson一起工作,与Kernighan合写了“UNIX编程环境”,并与Thompson合作开发了UTF-8 字节编码标准。Pike现在是Google的一个首席工程师,并与人合作开发了Go,一个新的编程语言。Pike将在下月的OSCON大会上讨论Go,他也在下面的采访中谈论了Go的开发以及编程语言的当前状态。

创建Go语言的动机是什么?
 

Rob Pike:几年以前,我们在Google的几个人开始对软件开发过程感到沮丧,尤其是在使用C++编写大型的服务器软件时更是如此。我们发现二进制文件变得越来越大。他们需要花费太多的时间去编译。此语言几乎是当前世界上主要的系统软件语言,其本身已经是一种非常老旧的语言了。最近二十年来许多在硬件上的思想和变化都未能影响C++。于是我们决定着手从新设计设计一种能解决我们问题的语言:我们需要快速地构建软件,使其能在现代的多核心硬件和网络环境中运行良好,并且做到快乐编程。

尽管我们针对一些特定的问题来设定Go的目标,它已经变成一个比我们最初的设想更加通用和适用的编程语言。因此我们现在正使用它做许多不同的事情。我认为它应该在多个方向上都有美好的未来。

使用Go编程会感觉如何呢?
 

Rob Pike:Go具有动态语言如Python、Ruby或JavaScript的味儿,但它同时具有像Java、C或C++类语言的性能和安全性。这样你会感觉就像在使用一个轻量级的现代的脚本动态语言,但同时获得了传统语言的健壮性和性能。

Rob Pike:我们有一套与此语言配合使用的有趣的工具。其中发布版本的标准库就有完整性分析器。因此依据问题的复杂程度,你可以编写你自己的工具,也许在使用已有库时只需要一页代码。

有一些工具可以使你与已有的库连接。对于大型的如OpenGL一类的包,你最好是仅仅连接使用已有的东西。我们可以使用我们的封装工具来做这些事,另外SWIG支持使得我们能与C++连接。但所有的基类库都是由Go编写的。

已经有了针对Eclipse以及其他环境的插件。但还需要更多的工作,我们尚没
上一篇:15个实用的PHP正则表达式    下一篇:三十条有用的 Java 编程规则