go 在 I/O 大会上:常见问题

Go at I/O: Frequently Asked Questions - go 在 I/O 大会上:常见问题

https://go.dev/blog/io2010-faq

Andrew Gerrand 27 May 2010

2010 年 5 月 27 日

​ 在 Google I/O 上的高调产品发布之中,我们的小组向挤满的观众展示了一些演示文稿,并与许多现在和未来的 Go 程序员见面了。尤其令人满意的是,我们遇到了许多人,在了解了一些关于 Go 的知识后,对他们可以通过使用它获得的潜在好处(无论是直接的还是长远的)感到兴奋。

​ 在 I/O 大会期间,我们被问了很多好问题,本文将总结和扩展其中的一些问题。

​ Go 适合用于生产系统吗?Go 已经准备就绪和稳定。我们很高兴地报告说,Google 正在使用 Go 来运行某些生产系统,它们表现得很好。当然,仍有改进的空间,这就是为什么我们继续致力于开发语言、库、工具和运行时的原因。

​ 您们有计划实现泛型吗?已经有许多泛型特性的提案被公开讨论和内部讨论,但我们还没有找到一个与语言的其余部分一致的提案。我们认为 Go 的一个关键优势是它的简单性,因此我们谨慎引入可能使语言更难理解的新特性。此外,我们编写的 Go 代码越多(从而更好地学习如何自己编写 Go 代码),我们就越不需要这样的语言特性。

​ 您们有计划支持 GPU 编程吗?我们目前没有这样的计划,但由于 Go 是架构无关的,因此完全有可能实现。在不同的处理器架构上启动运行的 goroutine,以及使用通道在在不同架构上运行的 goroutine 之间进行通信,似乎是不错的想法。

​ 您们有计划支持 Go 在 App Engine 上运行吗?Go 和 App Engine 团队都希望看到这种情况的发生。与往常一样,这取决于资源和优先级,是否以及何时成为现实。

​ 您们有计划支持 Go 在 Android 上运行吗?Go 编译器都支持 ARM 代码生成,因此是有可能的。虽然我们认为 Go 是编写移动应用程序的绝佳语言,但 Android 支持并不是我们正在积极开发的。

​ Go 适合用于哪些领域?Go 是为系统编程而设计的,包括服务器、客户端、数据库、缓存、负载均衡器、分发器,这些应用程序显然非常适合使用 Go,这也是我们在 Google 内部开始使用它的方式。然而,自从 Go 开源以来,社区发现了许多适用于该语言的应用程序,从 Web 应用程序到游戏、图形工具等。Go 承诺作为一种通用编程语言脱颖而出,其潜力仅受库支持限制,而库的支持正以惊人的速度改善。此外,教育工作者表示有兴趣使用 Go 来教授编程,认为其简洁的语法和一致性非常适合这项任务。

​ 感谢参加我们的演讲或在 Office Hours 与我们交流的所有人。我们希望在未来的活动中再次见到您们。

​ Rob 和 Russ 的演讲视频已在 YouTube 上提供