整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

每个领域总有一些说不清道不明的“鄙视链”,在程序员圈中尤是如此。从编程语言、编辑器、工具,到浏览器、服务器系统,甚至 { 要写在 if 的同一行还是下一行,都能引起不同阵营程序员的无情嘲讽。

例如在编程语言方面,就曾有一个流传广泛的“鄙视链”:写汇编语言的看不起写 C 语言的;写 C 语言的看不起写 C++ 的;写 C++ 的看不起写 Java 和 C# 的;Java 工程师和 C# 工程师不仅相互鄙视,还一致看不起写 Python 的;然而,所有工程师都鄙视 PHP 工程师。

虽然这串说法很大程度上是出于调侃,但多数程序员的确都认为自己用的编程语言和开发工具才是最好的,因此对于一些意见不合的“小打小闹”许多程序员早已司空见惯。

不过,近期 Rust 和 Go 之间的动静还是让许多人为之一振:在 AWS 官博发布“Sustainability with Rust(Rust 的可持续性)” 一文及外媒 ZDNet 对其报道后,Go 技术负责人 Russ Cox 连发 14 条推特,炮轰该文对 Go 的“拉踩”行为。

为 Rust 投资的 AWS

提及 Rust,称赞其一句“年少有为”或许并不为过。2015 年才上线的 Rust,在这 7 年里逐渐成长为“大厂团宠”:多年被 Stack Overflow 评选为最受开发者喜爱的语言、微软曾表示 Rust 是 C 和 C++ 的最佳替代方案、谷歌宣布在 Android 中支持 Rust、Rust 还可能进驻 Linux 内核等等。

众多大厂中,亚马逊对 Rust 的投资也在逐年增加,其坦然表示:“在 AWS,Rust 正在迅速成为大规模构建基础设施的关键。”

2018 年,AWS 推出了第一款使用 Rust 编程的开源虚拟化技术产品 Firecracker ,随后还使用 Rust 支持 Amazon Simple Storage Service(Amazon S3),Amazon Elastic Compute Cloud(Amazon EC2),Amazon CloudFront 等服务,最近更是最新发布了一套用 Rust 编写、基于 Linux 的容器操作系统 Bottlerocket。

除了自家产品越来越多依赖 Rust,AWS 也在 2019 年成为了 Rust 项目的赞助商,还于 2021 年与谷歌、华为、微软和 Mozilla 共同创建了 Rust 基金会——AWS 认为“借助 Rust 可以构建可持续和安全的解决方案”。

为了证明这一切并不是对 Rust 的盲目自信,AWS 在“Sustainability with Rust”一文中引用了一份对编程语言的能源消耗、性能和内存使用相关研究报告,以此说明 Rust 在可持续性方面的优越。

然而,也就是由 AWS 对这份报告的分析开始,引得 Go 技术负责人 Russ Cox 感到不满。

14 条推文,为 Go“正名”

“我本来不想多说什么,但因为 ZDNet 也报道了一遍 AWS 的‘Sustainability with Rust’博客文章,所以我觉得有必要发一个简短的帖子说明一下有关 Go 被误解的部分。”这是 Russ Cox 决定为 Go“正名”的宣言,也是 14 条推文的第一条。

  • 过时的“一项有趣研究”

首先,Russ Cox 对 AWS 博文中“一项几年前非常有趣的研究”这一说法就很不满。他表示,这份研究报告发布于 2017 年 10 月,当时用的还是 Intel i5-4460 CPU(于 2014 年第二季度发布)和 Go 1.6(于 2016 年 2 月推出)。Russ Cox 直言:“那已经是永远的过去式了。”

其次,该报告还显示 C++ 比 C 多消耗 34% 的能量、56% 的时间和 14% 的内存,对此 Russ Cox 忍不住提出质疑:“几乎每个 C 程序都是一个有效的 C++ 程序,所以 C++ 根本就没那么失败和糟糕。”

  • 以 Discord 为例,AWS 却故意“拉踩” Go

上面这份研究报告实际上并没有对 Go 造成什么实质影响,接下来博文中提到聊天软件 Discord 从 Go 切换到 Rust 的例子才彻底“惹毛”了 Russ Cox,他斥责道这是“令人难以置信的误导”。(注:Discord 原本有一项服务主要由 Go 编写,但存在延迟问题,后决定尝试用 Rust 重写服务,并由此整理出一篇二者对比的文章。)

首先,Discord 原文中显示了一个同时绘制 Go 服务器和等效 Rust 服务器的图表:虽然 Rust 看似具有更可预测的性能并优化了 Go 的延迟峰值,但总体来说表现还是大致相当的。

而 AWS 在对 Rust 服务器用新数据结构和更多 RAM 进行了大范围重写后,在旁边放了 Go 的原始图表,Russ Cox 对此表示:“这要么是对 Discord 原帖完全误解,要么就是公然作假。”

Russ Cox 继续翻看 Discord 的原文,发现问题根本不在于 Discord:“Discord 的对比是公平的,它显示了 Go 服务器和同等条件下的 Rust 服务器的比较,而 AWS 博文中‘重写后 Rust 服务器的性能’在 Discord 文章中原本是单独列出的,并未与 Go 进行对比,即 AWS 故意歪曲了这一点。”

对于这一发现,相比气愤,Russ Cox 更多是遗憾:“AWS 的文章确实对 Rust 提出了一些真实、公平的观点,但这也更让人觉得其中居然包含对 Go 的误导性言论感到遗憾:他们本不需要这样做,Rust 完全可以独立存在。”

其实撇开这次 AWS为了 Rust “拉踩” Go 的行为不谈,Russ Cox 本身对 Rust 并无偏见,甚至还对 Go 和 Rust 如何相互协同工作非常感兴趣,为此他还推荐了一篇文章:《Rust vs. Go:为什么它们在一起更好》。(原文地址:https://thenewstack.io/rust-vs-go-why-theyre-better-together/)

编程语言总是优劣并存

正如开头所说,多数程序员总是偏爱自己熟知且常用的编程语言,但这并不是“拉踩”其他语言的理由,每种编程语言得以长期存在,自有其独到之处。

@sblom:“我虽然不是 Go 的粉丝,甚至其实我更喜欢像 C#、Rust、Scala 这类更具表现力的语言,但我不会因为 Go 在其不擅长的地方显得劣势而瞧不起它。正如 Go 在某些方面做得就不错,每种语言也都有缺点。”

@new_stranger:“我原先还很担心使用脚本语言的创业公司未来的唯一出路只能是 Java 或 C++,所以我真的很高兴能同时存在 Rust 和 Go,能够简单处理其他语言中事后才想到的事情真是太好了!”

@brabel:“Rust 是一门复杂的语言,具有很多特性,因此较难掌握;Go 是非常简单的语言,虽然功能较少,但容易学习和编写。但这两种不同风格的语言也为程序员们提供了更多的选择。”

那么,你更喜欢哪些编程语言呢?

参考链接:

  • https://aws.amazon.com/cn/blogs/opensource/sustainability-with-rust/

  • https://twitter.com/_rsc/status/1496352325157457922

  • https://news.ycombinator.com/item?id=30441771

—END—

《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造

— 推荐阅读 —

☞程序员硬核测评:全方位测评 GaussDB(for Redis) 和开源 Redis
☞柯洁:我受够了AI围棋;联发科校园招聘,应届生年薪约45万元;Chrome 100发布 | 极客头条
☞Vue、GitHub 深陷漩涡,React、Node.js 站队乌克兰,开源“锅”从天上来

编程语言“鄙视链” +1?亚马逊力捧 Rust,Go 技术负责人连发 14 条推特抵制“拉踩”...相关推荐

  1. 编程语言“鄙视链” +1?亚马逊力捧 Rust,Go 技术负责人连发 14 条推特抵制“拉踩”

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 每个领域总有一些说不清道不明的"鄙视链",在程序员圈中尤是如此.从编程语言.编辑器.工具,到浏览器.服务器系统,甚至 ...

  2. 微虚拟机服务器,亚马逊AWS发布开源虚拟化技术,可125毫秒内启动微虚拟机!

    原标题:亚马逊AWS发布开源虚拟化技术,可125毫秒内启动微虚拟机! 在AWS Lambda发布4年后,每月为数十万活跃客户处理数万亿次执行,作为当下最热的无服务器计算技术,AWS没有停下探索的步伐. ...

  3. 亚马逊力推以太坊,微软谷歌准备跟进!

    作者 | Carol 出品 | CSDN(ID:CSDNnews) 近日,科技巨头亚马逊旗下云技术服务商AWS宣布在其区块链托管服务Amazon Managed Blockchain (AMB)上全面 ...

  4. 亚马逊 CTO 回应人脸识别技术质疑:技术无罪,我们无责任

    https://www.leiphone.com/toutiao/LEaMCQPovBI6RmNu.html 雷锋网按:近日,亚马逊的高管接受 BBC 的采访,在采访中,高管们对目前具有争议的亚马逊产 ...

  5. 2021年中国亚马逊耳环市场趋势报告、技术动态创新及2027年市场预测

    亚马逊耳环市场的企业竞争态势 该报告涉及的主要国际市场参与者有Gemporia.Wanderlust Life.West & Co. Jewelers.TAI CHUNG等.这些参与者的市场份 ...

  6. 经济学人:谷歌、亚马逊等巨头有数据技术优势,会接管麦肯锡、波士顿咨询手中业务

    人力资源的教育 其实人力资源(HR)部门这个名字起得很差.除了劳累过度的员工.笨重的技术和成堆的员工手册之外,这个部门没什么别的资源了. 受到各种干扰的招聘人员必须要对远超出岗位需求的申请人进行排序. ...

  7. 前亚马逊工程师、现大厂技术总监与你分享:编程高手是如何炼成的!

    作者 | 骆俊武 来源 | 武哥漫谈IT(ID:BestITer) 每个人都有成长的渴望,也都会遇到成长的瓶颈. 一个读者问我:如何才能训练成为一个编程高手? 先简单说下这个读者的背景:工作 3 年多 ...

  8. 亚马逊卖家自养号测评技术原来是这样的!

    相信所有的亚马逊人都知道,欧州站大批卖家账号,因为账户关联而被暂停店铺销售,不少亚马逊卖家最初的猜测是因为浏览器关联问题.VPS等各种猜测,其实都是错误的猜测. 据了解这次被判定关联的店铺,只是少数, ...

  9. 自养号测评对亚马逊、Lazada有哪些技术要求,对卖家有哪些好处?

    在做跨境电商平台,买家评价的重要性不言而喻,很多买家购买产品前都会看一眼评论,比较下同类产品的买家口碑再做决定. 因此,测评一直是各大跨境电商平台的一种推广方式,测评同时也是很多卖家起步的必经之路.想 ...

最新文章

  1. 服务器搭建邮件自动回复,在postfix邮件系统上搭建自动回复邮件系统
  2. golang中的TestMain
  3. linux 权限中加号,关于Linux中权限列中的加号及点的深度探索
  4. Windows Server 2008 WDS实现跨网段实现远程部署
  5. linux nfs系统客户端,Linux系统中挂载共享目录NFS文件系统客户端安装与配置
  6. 编写properties文件的Eclipse插件
  7. axios 是如何封装 HTTP 请求的
  8. 收到计算机系统公司退款会计分录,​收到客人的退款的会计分录怎么写
  9. YYC松鼠短视频系统v3.5版本--稳定版本---优化性能以及各处接口返回以及部分ui页面细节
  10. 二手华为p40手机现在多少钱
  11. 电子健康档案:实现医疗信息的有效共享
  12. 云服务器突发性能型t6和共享型n4比较选择哪个好?
  13. [AHK]为通达信画线工具中的文字注释功能增加热键
  14. 学编程需要的电脑配置
  15. synopsys工具介绍
  16. Paging3 分页库的使用
  17. 用百行Python代码写一个关于德州扑克的类
  18. mysql数据库添加某个IP访问
  19. qt开发环境的建立与qte4.6.3、tslib1.4的移植
  20. 当下区块链亟需一场革命

热门文章

  1. [转]MegCup2015初赛题
  2. linux命令:软件更新 sudo apt-get update 和 sudo apt-get upgrade
  3. 解决 X: user not authorized to run the X server, aborting.
  4. 14 事务控制和锁定语句
  5. 分布式存储系统可靠性如何估算?
  6. C++初学之 3. ASCII数值的应用(大小写变换)
  7. Silverlight访问Web Service报System.Security.SecurityException: 安全性错误的处理
  8. [Ubuntu] 使用 ibus 输入汉字
  9. leetcode 1154 一年中的第几天
  10. php十六进制字符串转成字节数组_PHP中的数据类型及实例演示