北京时间11月11日,谷歌正式推出全新开源编程语言Go,据了解,Go可以优化规模复杂和多处理器系统的应用程序编程,可以让编程人员更轻松、更快速和更高效的编写应用。Go也是谷歌今年发布的第二款编程语言。今年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。
Go被谷歌称为一个“试验性语言”,试图融合Python等动态语言的开发速度和C或C++等编译语言的性能和安全。谷歌资深软件工程师Rob Pike表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上。除了Pike外,该项目的成员还其它一些谷歌工程师。Pike表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言。
现有编程语言均未专门对多核处理器进行优化,而Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的封装(closures)和反射(reflection)等功能。
在学习曲线方面,Pike认为Go与Java类似,对于Java开发者来说,应该能够轻松学会Go。之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如Eclipse IDE中的插件。目前还没有支持Go的IDE。
在目前谷歌公开发布的所有网络应用中,均没有使用Go。但是谷歌已经使用该语言开发了几个内部项目。
Pike表示,Go是否会对谷歌即将推出的Chrome OS产生影响,现在还言之尚早,不过Go的确可以和Native Client配合使用。他表示,“Go可以让应用完美的运行在浏览器内。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台。
Go同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x86和32位x86计算机的一套编译器(6g和 8g)。谷歌目前正在研发其对ARM芯片和Android设备的支持。Pike表示,“Android手机存在的问题是,我们一直没有一个数字协处理器。”
[ad#468-60]