rust中(读:zhōng)文翻译

2025-02-23 20:47:50Biological-SciencesScience

未来Rust编程语言会成为主流吗?《2021年将成为系统程序员的“RUST”年》——Rust提供了业界创建安全系统编程的最佳选择Rust是一种开源系统编程语言,专注于速度、内存安全性和并行性。 Rust编程语言作为C、C 和其他语言的替代方案,以此来改善应用程序的安全状况 Rust旨在利用高级语言的能力来满足低级系统编程的需求

未来Rust编程语言会成为主流吗?

《2021年将成为系统程序员的“RUST”年》——Rust提供了业界创建安全系统编程的最佳选择

Rust是一种开(繁:開)源系统编程语言,专注于速度、内存安全性和并行性。 Rust编程语言作为C、C 和其他语言的替代方案,以此来改善应用程序的安全《quán》状况 Rust旨在利用高级语言的能力来满足低级系统编程的需求。

未来Rust编程语言是否会成为主流,这需要了解Rust的过[繁体:過]去和以后动向:

  • Rust的2021动向
  • 对于已过去的2020年,关于Rust你需要知道些什么

最近几[繁:幾]年来,Rust积攒了很多粉丝,这不是毫无原因的——

对于满足系统编程需求,C 是个选择,而Rust旨在成为其可靠的替代品。实际上,它解决了C 极速赛车/北京赛车中许多固有限制,例如:内存安全和线程安全问题,这些问题通常会导致令人厌烦的的分段错误。 Rust旨在[pinyin:zài]利用高级语言的能力来满足低级系统编程的需求。

澳门博彩

在许多情况下,内存安全错误已成为安全漏洞的根本原因。从(cóng)一定的视角下,请考虑一下这个数字–“ Microsoft的所有CVE中,大约70%是内存安全《练:quán》问题”。 C/C 程序员一直都在遇到(拼音:dào)与内存相关的错误——使用未初始化的内存、基于“释放”内存后使用、缓冲区溢出。另一个棘手的错误源是数据争用(data races)和竞争条件;基于进行读/写的顺序对数据的不可预见的使(pinyin:shǐ)用。

Rust是【拼音:shì】一种开【pinyin:kāi】源系统编程语言,专注于速度,内存安全性和并行性。三个词定义了Rust:安全《拼音:quán》,并发和快速。其目的是防止首先引入内存安全错误。

一个简(繁:簡)单示例的截图,显示Rust在编译时如何捕获内存错误;而实际(繁体:際)场景更加复【pinyin:fù】杂,这是内置功能应派上用场的地方。

Rust在编译时如何捕获内存《练:cún》错误,数据源Source: Talk by Steve Klabnik (@SteveKlabnik)

尽管现代变体引入了更多的保护措施,但C 并不《pinyin:bù》是一种内存安全{quán}的语言,鉴于使用《练:yòng》C/C 构建了许多核心平台组件,这样说一点也不过分。

谁在使用Rust?

澳门巴黎人

目前在使用Rust这门语(yǔ)言《练:yán》的产品及大厂,数据来源:Source: Ryan Levick’s presentation

说到利用Rus澳门博彩t开发的应用,目前进[繁:進]行中的至少可以拿出两个:

  • 操作系统作为系统程序的示例
  • Firefox Servo作为高并发的示例
Amazon Firecracker,是一种支持AWS Lambda和AWS Fargate的开源虚拟化技术,它是用Rust编写的;目的是利用Rust的线程安全性并防止可能导致安全漏洞的缓冲区溢出错误。

与此有关(繁:關)AWS服务包括Amazon Simple Storage Service(Amazon S3),Amazon Elastic Compute Cloud(Amazon EC2),Amazon CloudFront,Amazon Route 53。

操作系统

AWS推出了Bottlerocket,这是一个用Rust编写的基于Linux的容器操作系统,Bottlerocket仅包含运行容器的基本软件,从而可以提高资源利用率并减少攻击面。

Google Fuchsia OS的TCP/IP堆栈是用Rust编写的。Fuchsia具有模块化的内核体皇冠体育系结构,其中一些组件是用C 编写的,一些组件是用Go语言编写的,其他组件则是用Rust语言编写的。这说明Rust具有与[繁体:與]其他语言编写的组件进行交互以帮助实现模块化内核体系结构的能力。

数据来源(拼音:yuán):https://blog.quarkslab.com/playing-around-with-the-fuchsia-operating-system.html

Firefox

在其新的CSS引擎(Quantum CSS)中,Firefox利用了Rust内置的编译时支持并行性。Web浏览器为背景的并行性,意味着你正在尝试并行呈现网页的所有不同部分;要知道并行性是很困难的,因为它引入了“竞赛条件”(Race Conditions),这些条件难以识别且难以排除。

这就是Rust发挥其威力的地方,Rust编译器静态验证代码以防止在编译期间出现竞争状况。

来(繁体:來)源《pinyin:yuán》:Source:https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-aka-stylo/

WebAssembly

WebAssemply通过将已编译的代码带到浏览器来向Web应用程序添加新功能;WebAssembly允许你采用以编译语言编写的功能,例如:C 和Rust,并在Web浏览器中安全地运行它。

Rust提供了业界创建安全系统编程语言的最佳机会。——微软(繁:軟) Ryan Levick


最后,回顾下,2020年关于Rust发生了什么变化

Rust最初被认为是Mozilla研究项目,直到最近才成为[开源Rust]项目的唯一官方赞助商。然而,在2020年8月,它解雇了250人,其中包括积极参与Rust项目和Rust社区的部分人。

(一些Rust维护者正在加入Amazon和Facebook,领导他们新创建的Rust团队。Niko Matsakis( @nikomatsakis)加入了亚马逊,Patrick Walton(@pcwalton)加入了Facebook,成为(繁体:爲)Rust团队的技术负责人。此外,Rust基金会正在公司化成为一个独立实体成立,但尚不清楚发起人【练:rén】是谁。目前的赞助商名单包括Sentry、GitHub、Google Cloud、Amazon Web Services、Mozilla和Microsoft

GitHub和Azure托【pinyin:tuō】管repo存储库和CI基础结构。

与众世界杯不同tóng 的Rust

澳门博彩

  • 与Java不同,Rust的设计不需要垃圾收集器。不需要垃圾收集器意味着你不会受到运行时性能的损失,尤其是在低功耗硬件上。
  • 编译时验证以确保线程安全和内存安全。 我认为这是最重要的区别因素,因为你不再依赖运行时检查

  • 系统编程应将异常处理移至编译时,并避免程序员犯错误在先。不允许为Null,也不支持例外。
  • 即用的软件包管理器可以与生态系统的其余部分集成(非常类似于Python),但是以前系统编程语言是没有有此功能的。
  • 零成本抽象

    什么意思呢?也就(pinyin:jiù)是说,由于抽象的系统开销,高级语言的性能和安全性通常需《xū》要权衡。 这会联想到引用计数的指针和(拼音:hé)运行时检查。

关于Rust的温馨提示

尽管Rust语言有诸多好处,但诚然其陡峭的学习曲线是不可避讳的(de)。

亚博体育

此外,机构组织恐怕不太会利用Rust重新编写现有软件系统,而宁愿使用它来构建和当前生态系统作《练:zuò》集成的新组件,因此,跨库组件和工具链的互操作性成为重要的考量{liàng}因素。

澳门金沙Rust社区

过去的五wǔ 年中,Rust在StackOverflow上的开发者调查问卷中一直是最受欢迎《yíng》的编程语言,位居榜首(shǒu)。

例如,在2020年调查中,有86.1%的开发者正zhèng 在使用该语言或技术进行开(繁:開)发,并且表示有兴趣继续选用该语言。这几[繁:幾]乎是C 收到的票数的两倍!

另外也可以参(cān)考美国社群应用Reddit上(读:shàng)Sub-Reddit调查(r / adventofcode),其中Rust在Python之后排在第二位。

本文链接:http://10.21taiyang.com/Biological-SciencesScience/2402322.html
rust中(读:zhōng)文翻译转载请注明出处来源