写点什么

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:0410621

评论 1 条评论

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

Prometheus Exporter (三十一)ProxySQL Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 ProxySQL

React进阶(九):React-Redux

No Silver Bullet

React React-Redux 12月日更

模块七作业——王者荣耀商城异地多活架构设计

deng

架构实战营

架构训练营 - 模块二作业

伊静西蒙

DDD领域驱动设计实战(四)-值对象

JavaEdge

12月日更

前端开发:关于Vue组件中的data属性值是函数而不是对象的详解

三掌柜

28t 28天写作 12月日更

LabVIEW图像特征与机器视觉概念(理论篇—4)

不脱发的程序猿

机器视觉 图像处理 工业自动化 图像特征

dart系列之:这里不需要标新立异,dart代码最佳实践

程序那些事

flutter dart 代码规范 程序那些事 12月日更

kubernetes APIServer是如何限流的?

xcbeyond

Kubernetes 限流 28天写作 12月日更

从对象内存布局了解锁的膨胀

Ayue、

锁升级

模块二:朋友圈

撿破爛ぃ

「架构实战营」

情绪价值

搬砖的周狮傅

情绪

微信朋友圈高性能分析

swallowluo

架构训练营 架构实战营 「架构实战营」

关于HDFS中的Lease Recovery

Joseph295

信贷风控从Model-centric到Data-centric

一直学习一直爽

互联网金融 风控模型 机器学习算法

JavaScript 数组方法 .map() 的 5 个使用场景

devpoint

JavaScript map array 12月日更

[Pulsar] 设置认证和鉴权

Zike Yang

Apache Pulsar 12月日更

2021学习总结

将军-技术演讲力教练

Python爬虫反爬,你应该从这篇博客开启,UA反爬,Cookie 特定参数反爬

梦想橡皮擦

12月日更

Guava的布隆过滤器

程序员历小冰

算法 布隆过滤器 28天写作 12月日更

天下武功,无坚不摧,唯快不破

Tiger

28天写作

给弟弟的信第17封|拒绝自我感觉良好

大菠萝

28天写作

微信朋友圈高性能架构分析与设计

皓月

架构实战 #架构实战营 「架构实战营」

架构实战营 第 4 期 模块二作业

架构实战营 模块二 「架构实战营」

跟着动画学Go数据结构之希尔排序

宇宙之一粟

golang 希尔排序 12月日更

Cordova应用的JavaScript代码和自定义插件代码的调试

汪子熙

JavaScript android 28天写作 12月日更 cordova

架构实战营模块2课后作业

墨宝

模块二课程作业

李晓笛

架构实战营

Android ShareSDK 微博分享 (8995)app auth fail for appKey&sign&package 解决

阿策小和尚

28天写作 Android 小菜鸟 12月日更

Kubernetes + Spring Cloud 集成链路追踪 SkyWalking

zuozewei

链路追踪 性能测试 性能监控 12月日更

🏆【Alibaba中间件技术系列】「EasyExcel实战案例」实战研究一下EasyExcel如何从指定文件位置进行读取数据

码界西柚

EasyExcel Apache POI Alibaba 12月日更

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