关于golang:Go-核心团队-Russ-Cox-驳斥AWS-博文作者-对-Go-存在严重误导

6次阅读

共计 2185 个字符,预计需要花费 6 分钟才能阅读完成。

2 月 23 日,Go 语言外围开发团队 Russ Cox (rsc) 在社交媒体上连发多条推文,“叱责”AWS 官网于前几日公布的一篇博文对 Go 存在着重大的误导。

据悉,AWS 官网博客于 2 月 11 日 公布了一篇题为《Sustainability with Rust》的文章,该博文作者为 AWS 的 Rust 倡导者兼软件工程师 Shane Miller 和 AWS 首席工程师 Shane Miller。他们在文中对 Rust 语言在 AWS 外部倒退历程以及基于 Rust 推出的一系列 AWS 产品做了回顾,并对该语言的亮点劣势进行了剖析和评估。

这篇博文自身剖析的思路并没什么问题,但作者 Shane Miller 在文中作比拟时,为了突出 Rust 的高效平安,称 Go 语言“是一种垃圾回收(GC)语言,在创立和开释对象时,垃圾收集器须要进行程序的执行并运行垃圾收集过程。”。

听到这样的评估,作为 Go 语言开发团队的 Leader,Russ Cox 天然有些坐不住了,因而要进去对该“误导”舆论进行批驳。

在 AWS 这篇博文中,作者称 Rust 是一种能将 C 等零碎编程语言的性能和资源效率与 Java 等语言的内存平安联合起来的一种语言,是一种“专为开源我的项目而生”的语言。并走漏“Rust 将很快成为 AWS 大规模建设基础设施倒退的要害”,且 AWS 正在投资 Rust 的可持续性,或将应用这种语言来构建可继续和平安的解决方案。

文中,作者还援用了此前一项用 27 种不同的编程语言实现 10 个基准问题的钻研,来验证各种语言在执行工夫、能耗和峰值内存应用方面的状况。

在拿其余语言如 C、谷歌的 Go,以及 Lua、Python、Ruby 和老版的 Fortran 等语言来与 Rust 做比照后,最终的得出的论断是:“C 和 Rust 比其余语言的效率更高,其差别的水平令人震惊”—— 比 Java 高 50%,比 Python 高 98%。

随后,Miller 强调称“Rust 不仅关乎内存平安和缩小平安缺点 —— 它是一种比 Python 和 Java 更环保的语言”。他示意,Rust 可在不存在未定义行为的危险状况下提供 C 的能源效率,即可在不损失内存平安益处的状况下将能源消耗减半。

为了证实这一点,Miller 例举了网络安全公司 Tenable 的一款应用程序的性能 —— 该应用程序以前是用 JavaScript 编写的,但当初则是用 Rust 来编写,“Rust 应用程序在 CPU 性能方面对 JavaScript 造成了冲击,提早缩小了一半,CPU 使用率缩小了 75%,内存使用率缩小了 95%”。

此外,还有如受欢迎的信息利用 Discord 最后也是基于 Python、谷歌的 Go 和 Elixir 来构建的,不过起初都开始换成用 Rust 来实现。

此时,Shane Miller 忽然话锋一转,拿 Go 语言“开刀”,称其为“垃圾回收(GC)语言”的那句评估,也因而引发了开篇的“误会”:

“因为 Go 是一种垃圾收集(GC)语言,当对象被创立和开释时,垃圾收集器常常须要进行程序的执行并运行垃圾收集过程。当 GC 运行时,过程无奈响应申请,并且在运行时能够看到 CPU 上的峰值和响应工夫图。”

对此,Go 语言开发团队 Russ Cox 批评称:“AWS 在这里的比拟,是对 Go 的一种重大的误导”。

Russ Cox 认为,AWS 的文章将两者进行比照时,将 Go 版本的数据与在应用新的数据结构和更多内存后的 Rust 版本数据放在了一起,还特意圈出“ms”和“µs”工夫刻度。因而,rsc 示意,这要么是 AWS 对 Discord 的原贴存在误会,要么就是公然地说谎。

随后,因为 外媒 ZDNet 也转发了下面 AWS 这篇《Sustainability with Rust》博文,所以这也让 Russ Cox 更有必要露面来澄清事实。

这也就回到了开篇 Russ Cox 忽然在 23 日连发多篇推文来进行批驳这件事的起因。

23 日,Russ Cox 发推文转载了一篇题为《Rust vs. Go: Why They’re Better Together》的文章称:

“I wasn’t going to say anything, but since ZDNet has republished the AWS“Sustainability with Rust”blog post, a short thread about why that post is misleading (at best) about Go.”

他示意,原本本人什么都不想说,但既然 ZDNet 曾经转发了 AWS 这篇《Sustainability with Rust》的帖子,那么就有这篇(《Rust vs. Go: Why They’re Better Together》)简短的帖子来解释为什么 AWS 的文章(充其量)是对 Go 的一种误导。

他还示意,“AWS 的帖子的确对 Rust 做了一些诚恳、公正的评论,这使得他们蕴含这些对于 Go 的误导性申明更加令人遗憾。“他们本不须要那样做,因为 Rust 足以自立。”

正如下面 Russ Cox 附上的那篇《Rust vs. Go: Why They’re Better Together》文章的观点,他强调称“就我集体而言,与其读那些伪装 Go vs Rust 是某种零和游戏的博客文章,我更违心关注 Go 和 Rust 相辅相成、能够很好地协同工作的形式。

目前,外网对于该话题的探讨也在持续上升,不少网友及开发者都曾经涌入了 Russ Cox 的推文评论区留言。对于该话题的后续倒退,本站也将继续关注,如果您对该话题有任何认识,也欢送在评论区留言互动。

正文完
 0