把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

Google 关于 Go 2 的讨论

  • 2017-07-19
  • 本文字数:1034 字

    阅读完需:约 3 分钟

在本周召开的 GopherCon 2017 上,Google Go 的技术负责人 Russ Cox 做了关于 Go 的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪些内容提出建议。

Google 在十年前开始发展 Go 语言,在 5 年前提供了第一个稳定版本 1.0。目前的稳定版本是1.8.3,Google 正在向社区开放,听取下一个主要版本2.0 应该包括哪些内容。

最近的一项研究评估,Go 语言的开发者数量约为50 万。如果就编程语言向所有这些开发人员询问他们想要什么,那么很可能得到一个很长的期望功能列表。但Google 非常关心维护与现有Go 代码库的兼容性,该代码库大致近似于1B LoC。虽然这表明该语言的成功,但是按照Cox 的说法,它也是“Go 2 的主要制约因素”。

Go 1承诺兼容性,让开发人员放心,只要 Go 1 规范还存在,他们的程序将可以继续编译并正确运行。现在,要设计的 Go 2 规范,存在破坏与 1.x 兼容的可能性。Cox 认为需要谨慎选择新特性。

Go 2 必须带动所有开发者 [包括使用 Go 1.x 的开发者]。只有回报足够丰富,我们才能要求他们放弃旧有习惯,来学习 Go 2 的新特性。

Go 2 还必须兼顾所有现有的 Go 1 源代码。 我们不能分裂 Go 生态系统。在混合型的项目中,用 Go 2 写的包中导入了用 Go 1 写的包,或者相反的情况,这种情况必须要在多年的过渡期中正常运行。我们必须弄清楚如何做到这一点,自动化工具像 go fix 一定会发挥作用。

为了避免引起混乱,Google 将新功能的数量限制为“两到三个,一定不超过五个”,“每一个变化都需要仔细的思考,规划和工具化”。 这些功能不包括“标识符支持使用更多的现实语言来定义或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox 谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。”

从 Google 的角度来看,Go 2 的主要目标是“解决 Go 在可扩展性方面的不足”。Cox 提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。

主题演讲的大部分内容是介绍和解释用于修改 Go 的五个步骤:

有关此过程的更多详细信息,我们建议您阅读博客文章 Toward Go 2 。有兴趣为 Go 2 推荐新功能的用户请参考 GitHub 上的关于该语言的 Wiki

查看英文原文 Google Discusses Go 2


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-07-19 19:005057

评论

发布
暂无评论
发现更多内容

以技术创新引领数据要素行业发展,隐语开源社区2024迈上新台阶!

隐语SecretFlow

1 行命令引发的Go应用崩溃

阿里技术

阿里云 命令 排查 Go应用

测试三大难题之一:“测试有效性”的应对策略

测试人

软件测试

语义检索效果差?深度学习rerank VS 统计rerank选哪个

Zilliz

Milvus 重排 语义搜索 混合搜索

分布式系统架构7:本地缓存

卷福同学

Java 分布式 后端

字节的面试,感觉还挺简单的~

王中阳Go

Go 后端 面试题

技术干货丨 OptiStruct 非线性之前车门过开分析(内附模型下载)

Altair RapidMiner

CAE 汽车仿真 仿真设计 车门仿真 非线性仿真

腾讯一面,感觉问Redis的难度不是很大

王中阳Go

redis 腾讯 面试 面试问题

Code Review:提升代码质量与团队能力的利器

京东科技开发者

主机防护如何更安全、高效? HSS新增多种特性,让你少走弯路

华为云开发者联盟

华为云 主机安全 云图说 新版本

你知道网络安全相关法律法规都有哪些吗?看这里!

行云管家

网络安全 堡垒机

Linux内存泄露案例分析和内存管理分享

京东科技开发者

文档解析技术指南:从传统Pipeline到端到端大模型

Baihai IDP

程序员 AI 文档理解 LLMs

WebGL 技术开发 MR 应用的技术难点

北京木奇移动技术有限公司

软件外包公司 webgl开发 MR应用

人工智能如何影响社会公平与资源分配?

天津汇柏科技有限公司

AI 人工智能

WebGL技术开发MR应用

北京木奇移动技术有限公司

软件外包公司 webgl开发 MR应用

WebGL 开发 VR 应用的技术难点

北京木奇移动技术有限公司

VR开发 软件外包公司 webgl开发

测试右移的价值与实践体系:打造高效软件测试之路

测试人

软件测试

TiDB7.5.5版本加索引巨慢问题梳理

TiDB 社区干货传送门

7.x 实践

Zabbix agent2 自定义SQL监控和告警实施指南:针对TiDB数据库

TiDB 社区干货传送门

监控 实践案例 管理与运维

一文让你对mysql索引底层实现明明白白

京东科技开发者

WebGL 技术在 AR 中的应用及其优势

北京木奇移动技术有限公司

软件外包公司 webgl开发 AR应用

nginx适配Overlay以及测试工具

天翼云开发者社区

nginx 虚拟化

Zilliz Cloud上新:容量提升3倍、享5折优惠,支持高精度搜索

Zilliz

zilliz cloud

CST软件如何仿真GPS上半球空间的辐射占比

思茂信息

cst cst操作 CST软件

2024 TiDB 社区年度总结,又携手共进了一年,2025年,一起迎接变化,挑战变化!

TiDB 社区干货传送门

TiDB 的 TiFlash 怎么用 | TiFlash 的最佳场景&稳定性管理

TiDB 社区干货传送门

7.x 实践

TiDB 工具 | PD全部扩缩容替换注意事项

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断 扩/缩容

向量数据库真的能满足所有 AI Agent 的记忆需求吗?

Baihai IDP

程序员 AI LLMs AI Agents

泳池机器人Aiper,从价值链高处“游”进全球庭院

脑极体

AI

探究获取亚马逊畅销榜API接口及实战应用

科普小能手

数据挖掘 数据分析 电商 亚马逊 API 接口

Google关于Go 2的讨论_开源_Abel Avram_InfoQ精选文章