最近,Go 语言推出了第一个正式版本,Google 承诺 Go 语言会在未来几年里更加稳定。YouTube 就使用了 Go 来编写他们的核心框架。
早在 2009 年 11 月,Google 就宣布了 Go 语言的开发计划,最近他们完成了第一个重要的里程碑:发布了 Go 1。过去 2 年多,Google 专注于语言规范和稳定性方面的工作,现在 Go 语言正式起航!即使未来几年 Go 语言发布小版本(比如 Go 1.1, 1.2.1),Go 1 的程序也可以直接编译和运行。Go 的兼容性体现在代码语法上,有小版本发布后,不用修改代码,但你可能还是需要重新编译。遇到重大发布,比如 Go 2,如果因为安全原因修改了语言规范,那么就可能会破坏兼容性,甚至原本的代码语法都不兼容。 Go 1 and the Future of Go Programs 一文具体解释了程序员将来可能会遇到的兼容性问题以及防范措施。由之前测试版 Go 编写的程序可以使用 go fix 工具自动更新,从而在 Go 1 的环境下运行。
Go 1 这次带来了一些新特性:对 Unicode 字符的支持,也就是 rune 类型、 error 类型和 error 包、 time 包,更多详细信息可以参考发布说明。
现在,Go 1 编写的程序可以在Linux、FreeBSD、Mac OS X 以及Windows 上运行,标准发布包中包括了适用于x86、AMD-64 和ARM CPU 的编译器。而用于 PowerPC 上的编译器还在开发过程中。
Google 已经更新了 App Engine SDK 1.6.4 以支持 Go 1 在 32 位和 64 位的 Linux 和 Max OS X 平台上运行。Google 在内部使用 Go 语言已经有很长一段时间了,但直到最近才公布细节。 Google 工程师 Andrew Gerrand 声称 YouTube 使用了 Go 开发他们的核心框架,该框架每天独立响应超过十亿次请求。此外,旨在推动 MySQL 数据库面向大型 Web 应用的扩展性的 Vitess 项目也是由 Go 语言编写的。
Go 语言的用户包括: Canonical 使用 Go 开发了他们的后端框架, Atlassian 使用 Go 语言来管理和监控测试服务器, 运行在 Heroku 上的开源的高速数据同步服务器项目 Doozer 也是由 Go 编写的,等等。尽管如此,Go 语言还没有足够多的案例,以至于它跌出了这个月的 Tiobe 50 大编程语言排行榜,这也让大家对它未来的发展抱有疑虑。
Go 是一种编译型静态语言(compiled static language),它的语法类似 C 和 C++,执行速度快,支持跨平台。有了这些特性,Go 的目标直指取代 C 和 C++ 等原生语言。官网上的 Tour of Go 交互式地介绍了 Go 的基本功能。
同时,Google 还正在推进另外一种动态语言 Dart ,以期取代 JavaScript。就像 Go 一样,Dart 也还没有很多应用案例,大家也担心 Google 会不会因为 Dart 没有用户而停止开发?
查看英文原文: Go 1–The First Major Release of the Google Go Language
评论