写点什么

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

评论 1 条评论

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

智能警务平台搭建,公安一体化警务实战解决方案

t13823115967

智慧公安 智慧警务系统开发

《Tensorflow:实战Google深度学习框架》.pdf

田维常

JVM的艺术—JAVA内存模型

Java jdk JVM

实践大于一切!Alibaba最新MySQL性能优化+高可用架构全彩版PDF

Java架构追梦

Java MySQL 学习 架构 面试

警惕”被讲故事“ | 读《叙事改变人生》

邓瑞恒Ryan

读书笔记 哲学 创业心态 社会学 世界观

年终盘点 | 七年零故障支撑 双11 的消息中间件 RocketMQ,怎么做到的?

阿里巴巴云原生

阿里云 开源 云原生 中间件 消息队列

未雨绸缪,数据保护之NBU介质备份

华为云开发者联盟

安全 数据 保护

智慧社区服务平台开发,平安小区建设

t13823115967

智慧城市 平安小区

十一周作业

走走,停停……

微信昵称可以加雪花了,个性又好看

程序员生活志

工具 微信名 雪花

我是如何拿到蚂蚁金服offer?看完2020年Java研发岗复盘经验总结,是时候让面试官懵逼了

比伯

Java 编程 架构 面试 程序人生

实战排查|为什么遮挡推流摄像头,会导致播放绿屏?

阿里云CloudImagine

音视频 WebRTC RTC bug RTMP

3. 搞定收工,PropertyEditor就到这

YourBatman

Spring Framework 类型转换 PropertyEditor

tron波场智能合约系统软件开发|tron波场智能合约APP开发

系统开发

最简单的 K8S 部署文件编写姿势,没有之一!

万俊峰Kevin

Kubernetes Go 语言

智能合约DAPP软件系统开发

系统开发

IT民工闲话·点一盏灯

IT民工大叔

成长 IT 传承

刚刚,阿里云知行动手实验室正式开放公测了

阿里巴巴云原生

阿里云 开发者 云原生 k8s dubbo

盘点 2020 | 一枚程序员的跑步之路

Simon

程序员 跑步 锻炼 盘点2020

六个步骤,从零开始教你搭建基于WordPress的个人博客

华为云开发者联盟

网站 WordPress 搭建

记一次网络请求连接超时的事故

AI乔治

Java 架构 HTTP

为了SpringBoot提交Tomcat执行,我总结了这么多

996小迁

Java tomcat 架构 springboot

mybatis分页插件如何实现?

田维常

mybatis

英特尔正式发布全新一代内存和存储产品

E科讯

iOS面试基础知识 (二)

iOSer

ios 面试

线程池的7种创建方式,强烈推荐你用它...

王磊

Java

深入浅出 Go - sync/atomic 源码分析

helbing

Go 语言

Android uni-app 封装原生插件

anyRTC开发者

uni-app android 音视频 跨平台 聊天室

原来只想简单看一下String源码,没想到整理了这么多知识点

小Q

Java 学习 编程 面试 string

让你的产品更懂世界:如何提升场景文本识别中的语言模型

华为云开发者联盟

神经网络 文字 语义

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