整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

有一门编程语言 2015 年才上线,而在这 6 年中,前有亚马逊赞助开发,后有谷歌宣布在 Android 中支持,现在 Linux 也要将它加入内核开发,可谓名副其实的“大厂团宠”。

你猜这是哪个编程语言?答案是:Rust !

上个月,Linux 公布 Linux-Next 初步支持 Rust 后,引发众多热议,Linux 之父 Linus Torvalds 都表示对 Rust 进驻 Linux 内核“保持观望”。

而本周,Linux 内核开发者 Miguel Ojeda 在邮件列表中发布的一封邮件再次成为焦点:在 Linux 内核中添加 Rust 支持的 RFC。

这封邮件较为冗长,除了发布一些用 Rust 编写的 Linux 内核补丁,还将“Linux 内核支持 Rust”这一决定的利弊和开发者的担忧都进行了说明,其中包括:

  • Linux 内核开发者对引入 Rust 的决心:明知在内核中加入第二种语言会付出更多努力,甚至一旦不再支持 Rust,用 Rust 编写的模块将更难替换。尽管如此,他们还是认为引入 Rust 的优势比成本大;

  • 在 Linux 中加入 Rust 的目的:降低内存安全 Bug 和逻辑 Bug 等风险、作为现代编程语言的 Rust 使新的驱动程序和模块更容易编写、将有更多人参与 Linux 内核开发等;

  • 内核环境下,Rust 相较于 C 的优势:更严格的系统可减少逻辑错误、安全代码和不安全代码之间区别明显、广泛的独立标准库等;

  • 同样,加入 Rust 也存在一些缺点:目前的 Linux 内核更适应 C 语言、对 LLVM 的依赖、编译速度较慢等由于 Rust 是一门年轻的编程语言引发的问题,不过都有改善的余地。

此外,邮件中也说明到目前为止,在基于 x86_64、ARM64 和 PPC64LE 的 Linux 内核中,基础设施已经为支持 Rust 做好准备,其它架构和对 Rust 内核支持的构建也在逐步完善。

详细邮件内容可查看:https://lkml.org/lkml/2021/4/14/1023

Linux 之父:并不讨厌

对于这封邮件的内容,大部分人都表示支持,Linus 也再次对此表达了一些看法。虽然他对 Rust 进入 Linux 内核还有一些技术上的顾虑,尤其是担忧“某些 Rust 配置可能导致死机”这个问题,但大体上“并不讨厌”

他还补充道,比起当前的基本模块,他更希望看到一些真实的 Rust 示例作为提案的一部分,这样人们可以把它作为真正的代码片段来做一些有意义的事情。

谷歌:大力支持

而前阵子刚宣布 Android 支持 Rust 语言来开发操作系统的谷歌对 Linux 内核引入 Rust 代码也表示大力支持(之前谷歌还加入了 Miguel Ojeda 成立的 Rust for Linux 组织),谷歌 Android 团队工程师 Wedson Almeida Filho 在官方安全博客上发表了一篇有关此事的文章。

博文中指出,虽然近半个世纪以来,C 语言一直是编写内核的首选语言,但在高质量代码、高标准审查以及完善的防护措施下,内存安全漏洞仍然经常发生。而对 Android 来说,内核漏洞通常被认为是高危漏洞。

因此,谷歌表示:"我们认为,Rust 现在已经准备好与 C 语言共同成为开发内核的实用语言。它可以帮助我们减少特权代码中潜在的 Bug 和安全漏洞,同时很好地处理核心内核并保持其性能特征。"

此外,文中还详细介绍了一些 Rust 如何帮助内核开发者编写安全正确的驱动程序的示例,并且将其与现有的 C 语言版本在安全和性能方面进行对比。谷歌几乎将 Binder 所需的所有通用内核功能都进行了 Rust 支持,因此正在收集更为广泛的 Linux 内核社区反馈,争取将现有的 Rust 支持上游化。

最后,Filho 对 Linux 内核加入第二个编程语言表示期待:“这是一个激动人心的时刻,也是一个难得的机会,这可能会影响 Linux 内核的开发方式,同时也预示着 Rust 语言的发展趋势。”

网友:Linus 实际是支持 Rust 进入内核的

对于谷歌的正面支持与 Linus 的较为中立的态度,网友也进行了热议。

网友@bug77表示

“虽然 Linus 对 Rust 还有些顾虑,但他实际上是支持在 Linux 内核中加入 Rust 的,因为在现阶段有担忧很正常。

此外,目前的讨论并不是要把 Rust 包含在内核本身,而是包含在内核驱动程序中。有问题的话可以随时方式,损害很小。

C 在未来 10 年到 20 年内都不会消失,但看看 Rust,很明显它已经从一种狂热者喜爱的语言发展成为大型公司开始评估的一种语言。”

网友@ssokolow

“就隐式触发的复杂行为而言,Rust 更像是C 和 C++ 之间的中间地带。”

目前看来,Linux 5.13 发布在即,并且结合 Linus 起初对 Rust 的谨慎态度,在这个版本中引入 Rust 相关特性的可能性不大。不过不排除未来发展顺利的话,或许我们能在 Linux 5.14 中看到对 Rust 的支持。

针对想要学习 Rust 的开发者,CSDN 也于日前重磅推出《IT 人才成长路线图》,其中包含联合 Rust 中文社区联合发布的 Rust 初阶-中阶-高阶发展路线图及免费学习资源,方便读者根据自身情况,对照参考学习,共同开源完善路线图。

关注「CSDN」公众号,

后台回复关键词「Rust」

快速获得 Rust 学习路线图完整版

参考链接:

https://lkml.org/lkml/2021/4/14/1023

https://lkml.org/lkml/2021/4/14/1099

https://security.googleblog.com/2021/04/rust-in-linux-kernel.html

6 岁就成“大厂团宠”,这门编程语言竟引 Linux、谷歌、亚马逊共“折腰” !相关推荐

  1. 亚马逊63岁「老司机」困在算法里,工作4年却因机器评分太低被开除!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:外媒 编辑:LQ [导读]63岁的老司机诺曼丁为亚马逊Flex配送干了4年,11 ...

  2. 数字化变革的绘图时代,亚马逊用创新编织成新经济的画卷

    英国管理学家查尔斯·汉迪曾经提出"第二曲线"的概念来描述企业寻找新增长的重要性. 这一点在今年来说显得更为重要,受疫情的影响,绝大多数企业都受到了不小的冲击,在后疫情时代的恢复期, ...

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

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

  4. 8月30日科技联播:子弹短信总激活用户超过400万,亚马逊将成第2个万亿美元市值企业...

    上线十日用户百万,这颗子弹还能飞得更远吗?亚马逊市值首次超越9700亿美元,它会是第二个万亿美元市值企业吗?陈伟星要用区块链解决网约车安全问题,一个不成熟的行业用另一个不成熟的技术来解决问题,这事儿靠 ...

  5. 亚马逊面部识别系统大乌龙:将28名议员认成嫌犯

    据 The Verge 消息,美国公民自由联盟(ACLU)使用亚马逊的开放式 Rekognition API 扫描了所有 535 名国会议员的面孔,发现 Rekognition 将其中 28 个国会议 ...

  6. 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)

    开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...

  7. 13岁的京东和13岁的亚马逊 他们之间有什么不同?

    文/贞元 京东2003年正式涉足电商,至今已经13年了.从最初一年千万级的交易额到2015年的4465亿,增长不可谓不快.京东经常被称为"中国的亚马逊",事实上他也确实有好多业务在 ...

  8. 90后陪酒女做亚马逊测评月入上百万!从陪酒女蜕变成白富美!她是如何做的?

    菲菲初中毕业就戳学了,作为养女的她是靠奶奶的一点点救济才上完初中的.高中没考上就去混社会:没有学历找不到好工作只能四处漂泊.懵懵懂懂的就被同乡坑了走上了陪酒的生涯.十八九岁的年纪花儿一样娇嫩的美,却只 ...

  9. 39岁亚马逊员工宣布退休:一单赚了1200万美元,懒得为贝佐斯打工了!

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨电商君 来源丨电商报(ID:kandiansh ...

最新文章

  1. 阿里某员工哀叹:头条的文档太混乱!阿里的文档读起来舒服!
  2. 如何有效利用项目管理工具提高工作效率?
  3. sql 给数据库表 字段 添加注释
  4. flink source 同步_为什么说 Flink + AI 值得期待?
  5. LeetCode 19删除链表的倒数第N个节点-中等
  6. python创建空txt文件_python创建txt文件
  7. C#设计模式之9-装饰者模式
  8. centos7 最小gnome桌面_Linux 桌面进化史
  9. HMI 软件内存异常,导致奔溃退出的bug
  10. jQuery视频展示效果实例
  11. 网络赚钱从入门到精通
  12. Python学习笔记——python基础 3. 字符串
  13. 密钥加密法(指针应用)
  14. matlab截视频人脸,一种视频图像中人脸图像截取方法与流程
  15. linux 解压zip文件到指定文件夹,Linux解压文件到指定目录
  16. 微信多开软件苹果版_快手充值快币微信充值苹果版;
  17. 计算机 蓝牙鼠标卡顿,无线鼠标卡顿不流畅是什么原因_无线鼠标卡顿不流畅的处理方法...
  18. 如何解决360极速浏览器主页无法修改问题
  19. 智能AI电话机器人系统
  20. 企业微信(创建群聊会话)60011错误

热门文章

  1. shell脚本实现printf数字转换N位补零
  2. 【三层】无法直接启动带有“类库输出类型”的项目
  3. SQL SERVER数据库设计与现实
  4. 06 iOS 关闭侧滑返回
  5. Spring Boot Shiro权限管理--自定义 FormAuthenticationFilter验证码整合
  6. OSI七层模型详解 TCP/IP协议
  7. C# 异常处理(一)
  8. Java关键字transient和volatile小结(转)
  9. 当你输入一个网址的时候,实际会发生什么?(转)
  10. About The Quaternion 有关四元数