Go 总负责人 rsc 即将卸任,回顾他的光与暗!

大家好,我是煎鱼。

前段时间大家应该有被一则重磅消息给震惊到,那就是:Go 核心团队的负责人 rsc,对外突然宣布要卸任了,时间定在 9.1 号。

rsc 在此前领导了 Go 编程语言项目超过 12 年,我们所经历的 Go 核心功能的氛围、发展、Go+云原生的黄金时代,都与他有直接关系。

卸任宣言重点

本次 rsc 的卸任宣言正文来自《passing torches to Austin and Cherry[1]》。

5e23a0846d8b2796709ab79247e3b129.png

归纳重点内容是:

  • 工作交接:从 9 月 1 日起,Austin Clements 将接任 Go 项目的技术负责人,接替现任负责人管理 Go 核心部分。Cherry Mui 将领导编译器、运行时等领域。

  • 现任负责人的角色调整:现任负责人(rsc)将退居二线,给新领导更多决策空间,但仍会参与设计讨论和代码审查等工作。

  • 老带新模式:rsc 认为长期由自己领导不利于项目发展,因此决定换新人接手,支持新领导的成长。

  • 对新团队的信心:rsc 表示对 Austin 和 Cherry 的能力充满信心,并相信新领导团队将使 Go 项目更加强大。

  • 未来规划:rsc 以后将更多地关注 Gaby[2] 和 Oscar[3] 项目,并继续为 Go 社区做出贡献。

Go 新任领导是谁

从 2024 年 9 月 1 日起,将由 Austin Clements[4] 担任。

52db63bf4885ad4fa48c8df8ddacdfea.png

Clements 自 2014 年以来一直在 Google 的 Go 团队工作,具有丰富的经验和专业知识。已经轻车熟路。

现阶段他专注于 Go 语言的核心部分,包括:编译器工具链、运行时和版本发布等方面。是 Go 运行时和编译器的技术负责人。

他的判断能力被认为非常出色,这使他成为入选该职位时的理想人选。

注:他以前在大会分享《GopherCon 2020: Austin Clements - Pardon the Interruption: Loop Preemption in Go 1.14[5]》,有兴趣的同学可以学习或眼熟一下。

回顾 rsc 光与暗

rsc,在任职期间属于王炸般的存在,推行了许多的内容物。

有非常多的争议,也取得了不少的成果。是好是坏很难评。可能 5~10 年后可以再看看。

Go Module 模块管理

在以前 Go 还是使用 GOPATH 模式时(Google 内部这么用没什么大问题,因为是大仓库模式),没有考虑到社区的使用情况,于是 godep 等各家自研模块管理就出来了,百家争鸣。

当时 rsc 他们说要把其中一个转正。结果后面又说其他家的不好用,反手自己做黑脸,加速推出了 vgo(现在的 Module 的前身),引发社区各种反对。

当然,反对是没有用的。最终在反对声下,也成功的推进 Go Module 的 “正规” 化。

泛型、迭代器的引入

在过去这几年中,加入比较出名的特性是:泛型、迭代器。

社区中有大佬认为:Go 开始朝着增加复杂性和隐式代码执行的方向发展。也许我们需要停止添加增加 Go 复杂性的特性,应该专注于 Go 的基本特性 - 简单性、生产力和性能。

也有认为加入这些特性后,Go 能够面对解决的场景更多了。见仁见智。

Go1 向前、向后兼容性

简单来讲,Go1 本来就有承诺兼容性保障。但是 rsc 两纸草案,进一步加强了前向、前后的兼容性承诺。

选其中之一快速来讲,就是:

045b984032d7874b8702b6694370addd.png

将根据 go.mod 中的 Go 版本号来设置对应 GODEBUG,以提供超越当前兼容性准则所保证的兼容性。

这一点做法,有人恨也有爱。爱的觉得 Go 很棒,以后用的都不怕了,可以随便升级。恨的,就觉得 Go 技术债务会越来越多。未来久了很容易变大坑。

具体的措施可以详看:

不再有 Go2 了

由于 rsc 推行了 Go1 向前、向后兼容性的加强,之前还闹的轰轰烈烈的 Go2。直接被一纸休书的干没了。

计划是用 GODEBUG 解决所有新的诉求。

总结

总的来讲,我认为 rsc 经历了 Go 这一门编程语言发展的黄金时代。他后半期非常果断的推进了许多的技术手段和方案,还是让人感受到了不少的 “震撼”。

现在换帅了,不知道 rsc 年代推进的技术政策会不会在未来被快速推翻。期待新的 Go 船手会怎么样。

最近发布完 Go1.23,rsc 他们就去休假了,国外这一块还是比较不错的,劳逸结合的感觉。

推荐阅读

参考资料

[1]

passing torches to Austin and Cherry: https://groups.google.com/g/golang-dev/c/0OqBkS2RzWw

[2]

Gaby: https://github.com/rsc/gaby

[3]

Oscar: https://github.com/golang/oscar

[4]

Austin Clements: https://github.com/aclements

[5]

GopherCon 2020: Austin Clements - Pardon the Interruption: Loop Preemption in Go 1.14: https://www.youtube.com/watch?v=1I1WmeSjRSw

关注和加煎鱼微信,

一手消息和知识,拉你进技术交流群👇

bad9131bde6a8d710bb82759443350c0.jpeg

b119aa311d7ecd0c939c3dafb16e69a3.png

你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路

日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!

原创不易 点赞支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值