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

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

大家好,我是煎鱼。

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

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

卸任宣言重点

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

图片

归纳重点内容是:

  • 领导交接:从 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] 担任。

图片

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 两纸草案,进一步加强了前向、前后的兼容性承诺。

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

图片

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

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

不再有 Go2 了

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

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

总结

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

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

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

责任编辑:武晓燕 来源: 脑子进煎鱼了
相关推荐

2020-07-28 10:00:00

技术

2018-06-07 09:25:13

2023-08-29 08:55:45

Go1Go核心

2014-05-21 16:04:38

面试面试规则

2016-01-15 10:47:08

技术团队能力

2012-12-13 11:12:24

戴尔

2011-08-23 17:02:37

FedoraLinux 20周年

2022-07-25 19:48:47

Go

2013-04-17 10:56:10

ONFOpenDayligh标准协议

2013-02-26 09:53:19

2015-06-17 15:54:42

2009-07-16 08:19:46

魔兽网易

2015-11-16 10:16:56

技术蜕变创业

2011-08-23 18:07:42

QomoLinux 20周年

2023-09-11 11:14:54

IT团队CIO

2017-03-13 15:30:22

慕尼黑WindowsLiMux

2009-09-15 10:45:52

Linux驱动Linux微软

2014-06-27 14:49:41

SDN

2024-06-27 08:54:22

Go模块团队
点赞
收藏

51CTO技术栈公众号