写点什么

Go 语言开源 12 年,明年重点完善泛型和供应链安全

  • 2021-11-12
  • 本文字数:1206 字

    阅读完需:约 4 分钟

Go语言开源 12 年,明年重点完善泛型和供应链安全

当地时间 11 月 10 日,Go 核心开发团队技术 leader Russ Cox 发文庆祝 Go 语言开源以来的 12 岁生日。


“博客上最明显的变化是我们在 go.dev 上的新家,所有的 Go 站点统一整合到一个单一、连贯的网址下。作为整合的另一部分,我们用 pkg.go.dev 替换掉了原先的 godoc.org。”Russ Cox 表示,今年是个“多事之年”,并对今年的主要进展作了回顾。


今年 2 月,Go 1.16 版本添加了对 macOS ARM64 的支持,以及文件系统接口和嵌入文件、默认启用 modules 等多项改进和优化。


8 月,Go 1.17 版本添加了对 Windows ARM64 的支持,大大提升了 TLS 密码套件决策的易用性和安全性;引入了修剪模块图 (pruned module graphs),使模块在大型项目中更高效,也添加了及新的、更易读的构建约束语法。Go 1.17 版本还在底层上将 x86-64 的 Go 函数切换至基于寄存器的调用约定, 让 CPU 密集型应用程序的性能提高了 5-15%。


IDE 方面,支持在 VS Code Go 中默认启用 gopls, 同时为 gopls 和 VS Code Go 提供了多项改进,包括由 Delve 提供支持的强大调试体验。


此外,除了添加模糊测试支持的新提案,今年还正式提议为 Go 添加泛型,并明确这两者都将在 Go 1.18 中提供。


据悉,Go 团队本来预计在 Go 1.17 中添加泛型,但后来遗憾表示要推迟。Go Team 也曾在其官方博客表示,大家很期待泛型,因此他们一直在努力,为可投入使用做各种细节的打磨,2021 年这块会是重点。


Russ Cox 亦表示,完善泛型将是他们 2022 年的重点工作之一。Go 1.18 中的初始版本只是一个开始,开发团队需要花时间使用泛型,以便编写最佳实践,以及决定应该将什么添加到标准库和其他库中。他们预计 Go 1.19(预计在 2022 年 8 月发布)及更高版本将进一步完善泛型的设计和实现,并将它们进一步整合到整体 Go 体验中。


2022 年的另一个工作重点是供应链安全,涉及到被反复提到的依赖性问题,Go 模块的设计提供了可复制、可验证的和经过验证的构建,但还有更多工作要做。从 Go 1.18 开始,go 命令将在二进制文件中嵌入更多有关其构建配置的信息,使可复制性更容易并帮助那些需要为 Go 二进制文件生成 SBOM 的项目 。


Russ Cox 提到,他们还开始研究 Go 漏洞数据库以及用于报告程序依赖项中漏洞的相关工具。目标之一是显着提高此类工具的信噪比:如果程序不使用易受攻击的功能,则不进行报告。在 2022 年计划将其作为独立工具提供,但也会将其添加到现有工具中,包括 goplsVS Code Go 和 pkg.go.dev。在改善 Go 供应链安全态势的其他方面,还有更多工作要做。


Go 团队还开始研究 Go 漏洞数据库以及用于报告程序依赖项中漏洞的相关工具。他们在这项工作中的目标之一是显着提高此类工具的信噪比:如果程序不使用易受攻击的功能,则不会进行报告。在 2022 年期间,团队计划将其作为独立工具提供,同时将其添加到现有工具中。除此之外,在改进 Go 供应链安全态势方面,还有更多工作需要开展。


延展阅读:

《12 年后,Go 终于默认支持泛型》

《为什么 Go 语言没有泛型》

2021-11-12 10:0410071

评论 1 条评论

发布
用户头像
eventually...
2021-11-12 18:14
回复
没有更多了
发现更多内容

开发者原来都是健身猛男?

InfoQ写作社区官方

热门活动

华为云灾备,保护企业信息数据势在必行!

路过的憨憨

华为

Spring Boot 应用使用 application.yml 和 application.properties 的区别

汪子熙

Java mvc spring springboot 10月月更

DevOps|1024程序员节如何做?介绍下我的思路

laofo

DevOps 研发效能 1024程序员节 快手

Opencv 图像处理:数字图像的必会知识

timerring

OpenCV 计算机视觉 10月月更

大家都在“卷”的推荐系统还有进步空间吗?看技术大牛们怎么说

小红书技术REDtech

华为云数据灾备方案如何成为企业的坚实后盾

路过的憨憨

华为

Vuex在uniapp中的使用

孙铭

Vue vuex 10月月更

“程”风破浪的开发者|我是如何快速学 Go 的?GoFrame 只用了 3 天时间就从小白变大佬?

王中阳Go

Go golang 学习方法 10月月更 “程”风破浪的开发者

【LeetCode】分割数组Java题解

Albert

算法 LeetCode 10月月更

4000字深度总结!Pipeline五大性能实践,招招制敌

极狐GitLab

DevOps CI/CD 持续交付 pipeline 极狐GitLab

助力企业资源的合理利用,华为云数据库RDS for MySQL使用经济更省心!

路过的憨憨

Vue3, setup语法糖、Composition API全方位解读

yyds2026

Vue

华为云数据灾备方案助力企业安全,守住企业底线

路过的憨憨

华为

View层、Controller层、Service层、Dao层的区别以及对应的功能

孙铭

service DAO 10月月更

重磅丨九科被评为“2022年中国流程挖掘行业典型实践厂商” 实力再获“RPA中国”认可

九科Ninetech

RPA 流程挖掘 数智化转型

Vue.nextTick核心原理

yyds2026

Vue

Java之抽象类

魏铁锤

10月月更

【愚公系列】2022年10月 Go教学课程 038-异常处理

愚公搬代码

10月月更

低代码无代码区别在哪?通过这5点来区别准没错

优秀

低代码 无代码

企业文档过多如何管理?文档协同能够帮到你

Baklib

文档 文档管理

SegmentFault 思否发布开源问答社区软件 Answer

万事ONES

Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

码界西柚

zookeeper

云端软件运行,小程序安全沙箱技术为端侧安全保驾护航

Geek_99967b

小程序

Java领域又一神作!《凤凰架构》仅开源3小时,竟遭受Github万人哄抢

程序员小毕

程序员 架构 分布式 程序人生 系统设计

鸿蒙开发实例|分布式文件服务

TiAmo

华为 鸿蒙 10月月更

Java实现随机人名抽取

魏铁锤

10月月更

华为云桌面,安全可靠的云上办公首选

路过的憨憨

华为

HTTP 常用的状态码及使用场景

孙铭

HTTP 10月月更 200

知识管理是团队的心脏,让企业管理更上一层楼

Baklib

文档 文档协同

1024里的小温暖,用技术让生活变得更美好!

阿里技术

1024程序员节

Go语言开源 12 年,明年重点完善泛型和供应链安全_开源_罗燕珊_InfoQ精选文章