Go 博客

Go 在 I/O 大会:常见问题解答

Andrew Gerrand
2010年5月27日

在上周的 Google I/O 大会上,除了备受瞩目的产品发布,我们的小团队也向座无虚席的观众进行了演讲,并见到了许多当前和未来的 Go 程序员。能见到如此多在了解 Go 后,对其潜在益处(无论是即时还是长远的)感到兴奋的人们,尤其令人欣慰。

在 I/O 大会期间,我们被问了许多好问题,在这篇文章中,我想回顾并详细解答其中的一些。

Go 在生产系统中有多适用?Go 现在已经成熟稳定。我们很高兴地报告,Google 正在一些生产系统中使用 Go,并且它们运行良好。当然,仍有改进的空间——这就是为什么我们持续改进语言、库、工具和运行时。

你们有实现泛型的计划吗?关于类似泛型的特性,无论是在公开场合还是内部,已经提出了许多建议,但到目前为止,我们还没有找到一个与 Go 语言其余部分一致的方案。我们认为 Go 的主要优势之一在于其简洁性,因此我们对引入可能使语言更难理解的新特性持谨慎态度。此外,我们编写的 Go 代码越多(因此我们越能更好地学习如何自己编写 Go 代码),我们就越不觉得需要这样的语言特性。

你们有支持 GPU 编程的计划吗?我们目前没有立即的计划,但由于 Go 是架构无关的,这很有可能。启动一个在不同处理器架构上运行的 goroutine,以及使用通道在不同架构上运行的 goroutine 之间进行通信的能力,听起来像是好主意。

是否有计划在 App Engine 下支持 Go?Go 团队和 App Engine 团队都希望看到这一点实现。一如既往,这取决于资源和优先级,以及何时能成为现实。

是否有计划在 Android 下支持 Go?Go 编译器都支持 ARM 代码生成,所以这是可能的。虽然我们认为 Go 是编写移动应用的绝佳语言,但目前并未积极开展 Android 支持的工作。

我可以用 Go 来做什么?Go 在设计时就考虑了系统编程。服务器、客户端、数据库、缓存、负载均衡器、分发器——这些显然是 Go 有用的应用领域,我们内部也开始这样使用它。然而,自从 Go 开源以来,社区已经为 Go 找到了各种不同的应用领域。从 Web 应用到游戏再到图形工具,Go 有望成为一种通用的编程语言。其潜力仅受限于库的支持,而库的支持正以惊人的速度改进。此外,教育工作者也表示有兴趣使用 Go 来教授编程,认为其简洁的语法和一致性非常适合这项任务。

感谢所有参加我们演讲或在办公时间与我们交流的人。希望在未来的活动中再次见到你们。

Rob 和 Russ 的演讲视频已在 YouTube 上发布

下一篇文章:Google I/O 大会上的 Go 编程主题视频
上一篇文章:即将举行的 Google I/O Go 活动
博客目录