写点什么

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

评论 1 条评论

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

KubeNode:阿里巴巴云原生 容器基础设施运维实践

阿里巴巴云原生

阿里巴巴 容器 运维 云原生 k8s

如何用一个月的时间啃完英语词典?

wbliu85

大作业

yoki

git 教程 --git revert 命令

生之欢愉,时间同行

快了何止300%?阿里巴巴Java优化:设计+程序+并行+JVM+工具

Java架构追梦

Java 阿里巴巴 架构 面试 性能优化

【2021 ECUG Con】聚势而来,与你相约花开时

小剑客

区块链 云计算 大数据 开源 Go 语言

Elasticsearch Inverted Index

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

最新蚂蚁五面、拼多多三面、字节四面(已入职拼多多),个人面经分享

Java架构之路

Java 程序员 架构 面试 编程语言

新的RBAC:基于资源的权限管理(Resource-Based Access Control)

龙归科技

资源 权限管理 rbac

轻量级的接口自动化冒烟框架

小小娃爱吃甜食

自动化 测试 框架 自动化部署

万字长文,肝了一下午的线程池详解!

一个优秀的废人

Java 多线程 线程池 线程池工作原理

一周信创舆情观察(3.1~3.7)

统小信uos

终于学完国内算法第一人10年经验总结的数据结构与算法详解文档

Java架构之路

Java 程序员 架构 面试 编程语言

江苏交通控股打造IT架构云转型下的智慧交通

酷克数据HashData

HashData外部表的实现与应用

酷克数据HashData

ZooKeeper 的选举机制,你了解多少?

架构 分布式

大作业

胡益

2021年爆锤39K月薪Offer!阿里巴巴Java面试(知识点)整理

Java架构之路

Java 程序员 架构 面试 编程语言

外卖下单用例流程图

阿珍爱上阿强

HashData多集群共享统一存储架构

酷克数据HashData

《精通比特币》学习笔记(第七章)

棉花糖

区块链 学习 3月日更

音乐信息检索:理性解构音乐

阿里云CloudImagine

阿里云 算法 音频

2021年4款好用的音乐编曲软件推荐

奈奈的杂社

数字经济时代,区块链能否担当产业数字化转型核心赋能者?

旺链科技

区块链数字经济 区块链发展

第六.产品经理的项目管理

让我思考一会儿

Flink SQL CDC 实践以及一致性分析

Apache Flink

flink

COPU助力北大研究生开源公选课丨开源PostgreSQL研发课程成功进入北京大学

PostgreSQLChina

数据库 postgresql 开源 开源社区

寻找被遗忘的勇气(十一)

Changing Lin

3月日更

我用一个小小的开放设计题,干掉了40%的面试候选人

架构精进之路

Web 安全 软件设计 3月日更

话说 类加载过程 第一篇

木子的昼夜

前端开发:VS Code编辑器新建Vue文件自定义模板的方法

三掌柜

vue.js 大前端 3月日更

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