6

Go 开源 12 周年:Russ Cox 发文庆贺

 2 years ago
source link: https://segmentfault.com/a/1190000040943284
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Go 开源 12 周年:Russ Cox 发文庆贺

发布于 今天 04:13

自 2009 年 11 月正式对外发布后,至今 Go 开源已走过整整 12 个年头。刚刚,Go 开发团队技术 leader Russ Cox 就专门撰文庆祝 “Go 开源 12 周年”。

在这篇博客文章中,Russ Cox 对 Go 开源今年以来的变化及所取得进展做了回顾,并对下一阶段的发展进行了展望。

Russ Cox 提到了将 godoc.org 替换成 pkg.go.dev,以及新域名 go.dev 的启用,可将所有官方 Go 站点整合至统一域名下。

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

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

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

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

据了解,10 月初,“Go 语言之父” Rob Pike 曾在 Github 上撰文称“不建议在 Go 1.18 的标准库中使用泛型”的issue。而到了 10 月 28 日,Russ Cox 又发文终于明确了“ Go 1.18 版本中将支持泛型”的信息。

对此,Russ Cox 在此次博文中表示,完善泛型将是 Go 团队明年的重点工作之一(另一项重点工作和供应链安全相关)。Go 1.18 中的初始版本只是一个开始,预计 Go 1.19(或将于 2022 年 8 月发布)及更高版本将进一步完善泛型的设计和实现,并将其进一步整合到整体 Go 体验中。

目前,Go 团队已经着手研究 Go 漏洞数据库以及用于报告程序依赖项中漏洞的相关工具,以提高此类工具的信噪比(如果程序不使用易受攻击的功能,则不会进行报告),预计明年会被作为独立工具提供,且将其添加到现有工具中。同时,在改进 Go 供应链安全态势方面,未来也还有更多工作需要开展。

关于 Go 语言

Go 语言最初由 Rob Pike 等谷歌工程师在 2007 年 9 月启动设计工作,在2009 年 11 月正式对外发布。

Go 语言完美融合了动态语言易于编写的特性和静态语言的高效性,具备良好的易用性和极佳的执行效率。

Go 语言最初定位于 Web 服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go 开发团队曾表示,编译完成的 Go 程序运行速度接近 C 语言实现的程序。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK