AICon上海「Agent与多模态解决方案专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论 1 条评论

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

Flink CDC + Hudi 海量数据入湖在顺丰的实践

Apache Flink

大数据 flink 编程 流计算 实时计算

文档书写规范

甜甜的白桃

文档 6月月更

Nacos配置中心实战,盘古微服务开发标配组件

码农大熊

微服务架构 nacos 盘古开发框架 分布式开发

GameFi新的启程,AQUANEE将于6.9日登陆Gate以及BitMart

西柚子

WordPress 版本更新

海拥(haiyong.site)

WordPress 6月月更

使用 ViroReact 开发增强实现应用的一个具体例子

汪子熙

AR React 增强现实 6月月更

使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的“心路(累)历程“

胡说云原生

Kubernetes KubeSphere KubeKey

IPO,联结一切的桥梁

鼎道智联

版式设计三大原则

源字节1号

软件开发 小程序开发

明道云上榜2022年中国信创行业办公软件排行榜

明道云

关于在线帮助中心你需要思考以下几个问题

小炮

Linux开发_网络编程、网络通信介绍

DS小龙哥

6月月更

TiDB Cloud 上线 Google Cloud Marketplace,以全新一栈式实时 HTAP 数据库赋能全球开发者

PingCAP

TiDB

Plugsched 实战解读:如何在不中断业务时对 Linux 内核调度器热升级? | 龙蜥技术

OpenAnolis小助手

Linux 开源 内核 调度 Plugsched

【高并发】彻底理解Nginx限流机制与实战

冰河

并发编程 多线程 高并发 异步编程 6月月更

Java培训多线程+List分段解决批量更新太慢

@零度

List 多线程 JAVA开发

Android 产生ANR后的Trace文件的解析

北洋

android 6月月更

InfoQ 极客传媒 15 周年庆征文| 迁移 Eureka 到 Nacos 之双注册双订阅模式

4ye

架构 nacos Eureka springcloudAlibaba InfoQ极客传媒15周年庆

物联网低代码平台如何使用操作日志?

AIRIOT

物联网 低代码开发 低代码平台 物联网关

Linux中有趣的命令:cowsay,会说话的牛!

wljslmz

Linux 6月月更 cowsay

苹果称M2比intel i5强26倍 虚假营销的实情揭晓!

科技之家

JavaScript寄生式组合继承

大熊G

JavaScript 前端 6月月更

开发一个软件应用程序需要多少钱?

开源直播系统源码

软件开发 定制开发 直播源码

【直播回顾】Hello HarmonyOS应用篇第六课——短视频应用开发

HarmonyOS开发者

HarmonyOS

柴云鹏:创新能力的培养至关重要|OceanBase 数据库大赛访谈

OceanBase 数据库

oceanbase 数据库大赛

保姆级教程:如何成为Apache Linkis文档贡献者

康月牙

Apache GitHub 教程 文档 Linkis

LP流动性挖矿系统开发生态系统详解

开发微hkkf5566

C#入门系列(九) -- 方法使用

陈言必行

C# 6月月更

【Python技能树共建】lambda 表达式

梦想橡皮擦

6月月更

盘点现有开源软件许可合规工具

开源社

最佳实践 | 用腾讯云AI语音识别零基础实现小程序语音输入法

牵着蜗牛去散步

最佳实践 语音识别 小程序开发 腾讯云AI 语音输入法

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