Redian新闻
>
“单调是好事”,Go语言开发负责人承诺未来的兼容性

“单调是好事”,Go语言开发负责人承诺未来的兼容性

科技

作者丨 Tim Anderson
译者丨明知山
策划丨Tina

Go 语言技术负责人、谷歌杰出工程师 Russ Cox 承诺“不会出现与 Go 1 程序不兼容的 Go 2。”

Cox 还介绍了刚刚发布的 Go 1.21 对向前兼容性的改进。

在 Go 语言官网的一篇博文中,Cox 提出了一种观点,即兼容性“远比任何可能的与过去不兼容的东西更有价值”。对兼容性的承诺对 Go 语言来说并不是什么新鲜事:早在 2012 年 Go 1.0 发布时,其文档中就写道:“按照 Go 1 规范编写的程序在该规范的整个生命周期内都可以正确编译和运行,不会发生任何改变。”当然,这个承诺是针对源代码而不是二进制文件的兼容性。

文档中所指的是未来可能出现基于新规范的 Go 2,兼容性可能不太高,但 Cox 现在表示“不会出现与 Go 1 程序不兼容的 Go 2。”

尽管有这些承诺,但兼容性并不是绝对的,Cox 解释了几种新版本可能会破坏已有代码的情况。修复错误行为就是其中的一个例子。另一个则是时间的精度问题。现在函数变多了,那么第三种情况就是随着排序优化的实现,相等结果的排序发生了变化。第四种情况是默认协议发生变化,例如从 HTTP/1.1 变到 HTTP/2。这些情况意味着对 Go 语言的修改仍然会破坏已有的代码。Go 语言开发团队通过在谷歌内部运行 Go 代码测试来缓解这一问题。Cox 还提到了 Kubernetes 团队使用 ParseIP 函数的分叉版本,其中使用了更为严格的解析器,否则保存的配置可能会损坏。

Go 1.21 中的一些新特性进一步提高了兼容性,比如工具链管理,go 命令(自动下载、构建、安装和测试 Go 语言包)不会试图构建更新版本的代码,相反,它会自动下载更新的版本,但不会覆盖已安装的版本。

还有对 GODEBUG 的扩展使用,一个键值对,可以设置为环境变量。一般来说,如果变更确实破坏了兼容性,“我们将定义一个新的 GODEBUG 设置,允许个体程序不包含新的行为”。

Go 的兼容性真的像声称的那么好吗?一位开发者在 Hacker News 上表示:“我在大部分 Go 语言升级过程中都遇到过严重的故障。我在 Rust 升级和 gcc 升级时遇到的问题要少得多。”一些人也遇到了 Cox 所描述的一些问题。不过总体的反应是积极的。另外也有人说:“我两年前开始在工作中使用 Go,我很喜欢它,尤其是它的向后兼容性。”

原文链接

https://devclass.com/2023/08/16/boring-is-good-says-go-tech-lead-promising-future-compatibility/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

AIGC 是来颠覆还是加入低代码的?

首次公开收购!OpenAI 选择这家成立2年的8人团队做什么?

用 Rust 编写核心组件!独家揭露阿里云开源 GraphScope 如何成为全球最快图计算引擎

中国46岁程序员拒写赌博程序遭拔14颗牙;小红书被疑“偷”原画师作品喂自家大模型;全面停止服务,俄遇“微软危机”|Q资讯


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
白色背景的PPT单调?谁说的!邂逅香格里拉【首发】诺未生物完成5000万Pre-B轮融资,持续聚焦抗肿瘤核酸新药研发!Google创始人回归打造更强大模型/ChatGPT Android应用下周发布/AI巨头承诺负责任地开发AI |灵感周报“包容性增长是未来主旋律”!欧洲最大资管机构对话中国新兴投资机构,探寻新科技革命浪潮下的长期趋势!​独家丨小鹏前自动驾驶AI负责人刘兰个川入职安克,负责具身智能研发学会这4个版式技巧,多图排版不再单调“对未来的承诺”,纽约幼儿园孩子平均可获$3000大学奖学金武田全球研发副总裁、亚太研发负责人王璘博士:组织文化要让团队说了算245页Go语言编程指南,基本涵盖所有核心知识点!【滋味】复刻童年+新派做法!让南瓜美食不再单调顶尖人才的克星,是单调乏味的工作社交平台泄露内幕信息?私生活引发负面舆情?公募基金频频踩雷"朋友圈",业界建言重视声誉管理62家企业通过深度合成备案;文心一言开放首日答3342万问题;Salesforce已投11家AI创企地平线机器人生态负责人胡春旭:打造智能机器人开发新范式|直播预告拜登政府承诺为无证移民提供法律援助 但承诺未完全兑现为期五年,Ginkgo牵手谷歌开发新型大型语言模型,助力药物发现和生物安全领域秦-部长妻子林彦,外交夫人这么低调是为了……多语言、异构计算,火山引擎开源多媒体框架 BMF,完全兼容 FFmpeg小鹏前自动驾驶 AI 负责人刘兰个川入职安克,负责具身智能研发谈及特朗普,普京直言“这是个好事”即将分崩离析的美国?(2): 投奔天堂入地下13个比正式工作给的还多的兼职,可以赚点零花钱!第三章 旧文明的社会组织 (3)Mojo 编程语言开放下载,声称比 Python 快 68000 倍从“六月节”看弱势的华裔群体幼儿园生源荒?!别急 这是好事波士顿大学「鸭嘴兽-70B」登顶Hugging Face大模型排行榜!高效数据集+独特LoRA微调是关键游戏业包容性强!芬兰高达38%游戏开发者为LGBTQIA【周末综艺会8期】端午节的粽子“好事做尽,必有灾殃”,三种好事不要做尽,否则会有祸患490页Go语言入门指南,基本包含所有核心知识点,全是精华!WAIC 2023 | 微软Office产品团队技术负责人蔡玮鑫:Copilot中大语言模型应用实践经验最后7天 | 2023第一财经股权投资价值榜系列榜单调研即将结束别墅内惊现“手术室”,现场发现大量药品器械,负责人自称保洁…
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。