云网牛站
所在位置:首页 > Linux编程 > 为什么要选择Rust编程语言的23种原因及用户对Rust的评价

为什么要选择Rust编程语言的23种原因及用户对Rust的评价

2021-04-19 10:02:00作者:Rust人稿源:云网牛站收集

以下为您介绍为什么要选择Rust编程语言(Rust程序设计语言)的23种原因及用户在使用Rust后给予的评价。

 

前言

全世界已有数百家公司在生产环境中使用Rust,以达到快速、跨平台、低资源占用的目的。很多著名且受欢迎的软件,例如Firefox、Dropbox和Cloudflare都在使用Rust。从初创公司到大型企业,从嵌入式设备到可扩展的Web服务,Rust都完全合适。

安装Rust参考:在Linux、macOS、Windows系统上安装Rust和Cargo的说明

为什么要选择Rust编程语言的23种原因及用户对Rust的评价

 

选择Rust编程语言的23种原因

1、高性能

Rust速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。

2、可靠性

Rust丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。

3、生产力

Rust拥有出色的文档、友好的编译器和清晰的错误提示信息,还集成了一流的工具——包管理器和构建工具,智能地自动补全和类型检验的多编辑器支持,以及自动格式化代码等等。

4、可靠且速度惊人

即便只是编写简短的一次性脚本,您也能确信它是快速且易于测试的,并可以提供有用的输出。

5、易于分发

将所有内容编译为单个可执行文件,用户无需安装运行时和库。

6、健壮的配置

轻松处理跨平台的配置文件。Rust将为您处理命名空间和格式。

7、帮助手册?轻松生成

为应用自动生成手册。只要对生成的文件打包即可轻松获得手册。

8、数据输入,数据输出

除了与人沟通之外,Rust还提供了绝佳的工具来帮助您与机器对话。

9、灵活的日志记录

添加日志很方便,将其配置到不同的目标或设置为不同的格式也相当容易。

10、可预见的性能

没有难以预料的GC暂停,也没有JIT编译器造成性能抖动,只有底层控制与上层人体工程学的完美结合。

11、更小的代码尺寸

代码尺寸越小,页面加载速度就越快。Rust生成的.wasm模块不含类似于垃圾回收器这样的额外成本。高级优化和Tree Shaking优化可移除无用代码。

12、现代设施

充满活力的库生态系统助您旗开得胜。Rust拥有丰富的表达能力和零成本的抽象,以及助力您学习的友好社区。

13、低资源占用

控制资源使用,将内存和CPU占用降到最低。编译器的帮助可确保您所做正确。同时,通过生产效率高、使用体验宜人的生态系统来实现这一点。

14、安全可靠

Rust强大的类型检查可以防止多种级别的Bug。确保您在何时何地都可确切地知道状态是共享还是可变。在部署之前通过捕捉故障点来获得帮助。

15、大规模并发

可以混合使用任何适合于您的并发方式。Rust会确保您不会在线程或任务之间意外地共享状态。它能让您无所畏惧地压榨任意规模的性能。

16、强大的静态分析

在编译时强制要求引脚和外设配置,以确保资源不会被您应用程序中非预期的部分使用。

17、灵活的内存管理

动态内存分配是可选的。可使用全局分配器和动态数据结构,也可以不采用堆而全部静态分配。

18、无畏并发

Rust使得线程之间不可能意外地共享状态。无论使用哪种喜欢的方式实现并发,都能获得Rust提供的强力保障。

19、互操作性

可将Rust集成到现有的C代码库中,也可利用现有的SDK编写Rust应用程序。

20、可移植性

只需要一次编写库或驱动,就能在各种系统中使用它。不管是非常小的微控制器,还是强大的单板计算机,都可直接使用。

21、社区驱动

作为Rust开源项目的一部分,嵌入式系统由一流的并拥有商业伙伴支持的开源社区驱动。

22、主流编辑器支持

无论您喜欢用命令行还是可视化编辑器,都有适合的Rust集成供您选择。您也可以使用Rust语言服务(RLS)来为自己的编辑器添加Rust支持。编辑器支持有:VS Code、Sublime Text 3、Atom、IntelliJ IDEA、Eclipse、Vim、Emacs、Geany等。

23、易于构建可维护代码

如果配置文件丢失或损坏怎么办?如果环境变量的内容为空该怎么办?这些情况很容易忘记!但是借助它本身的错误处理方式和库设计,Rust可以在您运行程序之前发现这些“假设”的情况。另外,Rust能让您灵活地组织代码。从一个文件开始,当您需要更多功能时,有信心重构应用程序而不会破坏任何内容。

 

用户对Rust的评价

1、文档、工具和社区都相当棒,足以帮助您顺利完成Rust项目。

2、我们喜欢Rust的一个原因是crates.io的生态。

3、使用Rust来编写基于命令行或控制台的工具给我带来很大的好处,它针对不同的目标系统进行编译非常方便。

4、我们可以将Rust编译成WASM,并在编织到互联网结构中的Serverless功能中调用它。WASM的潜力巨大,我迫不及待地想要用它做更多的事情。

5、source-map库的JavaScript实现为了性能累积了大量复杂的代码,而我们将它替换为地道的Rust。Rust不会强迫我们在明确表达意图和运行时性能之间做出选择。

6、Rust的特性使然,通过WASM可以轻松地将DivANS编解码器嵌入到网页中。

7、将推送连接基础服务迁移到Rust,使得我们获得了更易维护的代码库,在提供了出色性能的同时还关注正确性。现在,我们使用Rust的服务器可以在高峰时刻同时处理多达2000万个websocket连接。

8、Rust是Linkerd项目技术路线图的基础。它的类型系统允许我们在不牺牲运行时性能的情况下构建模块化、可测试、可组合的单元。不过,最令人惊讶的是Rust的生命周期和借用检查系统使我们避免了大量的资源泄露。使用Rust两年后,我实在无法想象用其它语言如何才能完成此项工作。

9、当我偶遇由Mozilla出品的Rust语言时,我特别激动。Rust是一门新的编程语言,口号是 ‘安全,快速,并发三者兼顾’。它还拥有一个可靠的未来,以及一个强大且专注的用户社区。

10、在Sensirion,我们最近用Rust为本公司出品的 颗粒物质传感器构建了嵌入式样品机。由于交叉编译的简便和crates.io上的众多高品质依赖包的存在,我们迅速地完成了既快速又健壮的样品机。

11、在Airborne Engineering Ltd,我们最近用Rust语言写了以太网bootloader项目blethrs,用于内部数据采集系统。Rust是一门有前途的语言,我们对于将它用于未来无论是嵌入式还是其他类的项目,都感到兴奋。

12、Rust使得我们可以比想象中更快、更健壮的软件推向市场。感谢Rust,让我们将内存安全看得理所当然,同时带有复杂类型系统的零开销语言所带来的其他好处,帮助我们开发出了可维护的软件。Rust既让我们的客户变得快乐,也让我们的工程师变得快乐。

13、以往,在嵌入式领域被认为C/C++是不可替代的选择。但现在,我们认为在嵌入式领域能够使用一门现代化的优秀语言真的很棒,那就是Rust编程语言。

 

相关主题

Rust安装须知:用rustup管理工具链、配置PATH环境变量、卸载Rust

精选文章
热门文章