Rust语言:Facebook希望将其纳入主流编程语言

Facebook已经加入了Rust基金会(Rust Foundation),并与Amazon Web Services,Google,Huawei,Microsoft和Mozilla一起加入了Rust基金会。

Facebook是最新采用Rust的技术巨头,Rust是Mozilla最初开发的一种语言,由于与快速语言C和C ++相比具有内存安全保证,因此已在系统编程中流行。Rust呼吁编写驱动程序和编译器之类的组件。

Rust基金会成立于2月,最初得到了Amazon Web Services,Google,华为,Microsoft和Mozilla的支持。微软正在探索Rust用于Windows 和Azure的某些组件,而谷歌正在使用Rust来构建Android操作系统的新部分,并支持将Rust引入Linux内核的努力。

Facebook的工程团队现在已经详细说明了Rust的使用情况(从Rust达到其1.0里程碑一年后的2016年开始)。

Facebook的软件工程团队说:“对于开发人员而言,Rust提供了诸如C ++之类的较旧语言的性能,并且更加注重代码安全性。如今,Facebook上有数百名开发人员编写了数百万行Rust代码。”

Facebook已与其技术巨头同行一起加入了Rust基金会的最高层,使其在基金会董事会中占有一席之地。

Facebook的开源生态系统负责人,现任Rust Foundation的董事会主席Joel Marcey说:“ Facebook自2016年以来就接受了Rust,并在开发的各个方面都使用了Rust,从源代码控制到编译器。”

“我们正在加入Rust基金会,以帮助开发,改进和发展这种语言,这对我们和全球开发人员都变得如此宝贵。我们期待与其他基金会成员和Rust社区一起参与,使Rust成为主流语言。是系统编程及其他方面的最佳选择。”

Facebook已在许多项目中使用Rust,包括其备受争议的天秤座加密货币和区块链工作,目前由Diem协会管理。通过Novi数字钱包,Facebook现在只是该协会的核心成员。Facebook指出Diem区块链主要是用Rust编写的。

在此之前,Facebook在2016年的一个项目中将Rust变成了源代码管理服务器Mononoke。

Facebook工程师指出:“一开始,用C ++开发Mononoke是显而易见的选择。当时,Facebook的后端代码库非常C ++,这意味着Mononoke默认情况下将用C ++实现。”

“但是源代码管理团队需要考虑源代码管理后端的可靠性需求。当损坏或停机可能导致服务停止时,可靠性是重中之重。这就是为什么团队选择Rust而不是C ++的原因。”

正如Facebook软件工程师Jeremy Fitzhardinge在RustConf 2019的一次演讲中解释的那样,由于学习一种新语言所需的时间以及已经用另一种语言编写的项目已经投入了很多时间,采用Rust是一个巨大而冒险的决定。

他之所以喜欢Rust,是因为Rust在编译时能够检测到主要错误的能力比在生产系统上运行代码时发现它们要便宜几个数量级。

在证明Mononoke的Rust转换成功之后,开发人员对Facebook的兴趣增加了。Facebook指出,吸引Rust的许多工程师都来自Python和JavaScript背景。值得注意的是,因为这是两种最流行的编程语言。Python在机器学习和后端系统开发中很流行,而JavaScript统治着Web前端系统。

“他们赞赏Rust的高性能与编译时错误检测的结合。随着更多的成功案例(例如在公司内部流传2到4个数量级的性能改进),人们对使用Rust进行后端服务代码和探索的兴趣日益浓厚它也可以在移动应用中使用。” Facebook指出。

2020年,Facebook在其编程语言部门创建了一个Rust团队,该团队还负责有关C ++标准和工具链的工作。

该团队专注于Rust工具链,Rust编译器的代码审查以及确保Rust与C ++代码的安全互操作性。

“我们需要大量的C ++代码才能与构建服务的后端系统进行通信。我们需要开发人员能够在不牺牲Rust提供的好处的前提下,从Rust安全,轻松地使用这些库。” Facebook解释。

“相反,如果我们希望将Rust组件与更大的C ++二进制文件集成在一起,我们需要在异步代码中实现智能的运行时互操作性。Facebook的服务器是高度分布式且线程密集的。Rust任务需要在C ++线程池上很好地发挥作用,并安全地共享同步原语和I / O资源。

该团队还支持并迅速采用了C ++ 20的协程,这是由21工作组(WG21)于9月最终确定的C ++标准。

“将Rust引入游戏将是对它的扩展,并将基于Rust异步库堆栈中已经发生的出色工作。”

展开阅读全文

页面更新:2024-05-04

标签:华为   语言   区块   编译器   操作性   线程   基金会   源代码   巨头   组件   团队   主流   代码   项目   工作   系统   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top