Rust 能够取代 C 语言吗

2020-06-30 13:01:09 来源:易采站长站 作者:王振洲

Rust 是 Mozilla 基金会的一个雄心勃勃的项目,号称是 C 语言和 C++ 的继任者。一直以来,C/C++ 中的一些基本问题都没能得到解决,比如分段错误、手动内存管理、内存泄漏风险和不可预测的编译器行为。Rust 的诞生就是为了解决这些问题,并提高安全性和性能。

Evrone(一家软件公司)在很多项目中使用了 Rust,我们的工程师们这方面在积累了丰富的经验。在这篇文章中,我们将分享 Rust 的一些主要特性。

主要特性

强静态类型;无垃圾回收以及通过指针手动控制数据存储位置的能力;强大的内置静态代码分析器,有助于避免与内存管理和多线程相关的问题;C 语言风格的语法,具有简短的关键字。

Rust 简史

Graydon Hore 于 2008 年发起 Rust 项目。2009 年,Mozilla 表达了对这个项目的兴趣。一年之后,项目正式公开。2012 年,Rust 的第一个 alpha 版本发布。一年后,Servo Web 引擎(基于 Rust)开发人员宣布,他们得到了三星公司的支持,将引擎移植到 ARM 架构。

Rust 1.0 于 2015 年 5 月发布。同年,Rust 在 Stack Overflow 发布的最受欢迎开发工具排行榜中排名第三。从 2016 年至今,Rust 一直高居榜首。

为什么要使用 Rust优点统一的编译器,提供了一个内置的包生成器和管理器、测试系统和文档生成器;安全的内存管理,有助于避免分段错误;抽象能力,让手动内存管理变得更容易;提供了常见的编译错误修复建议;只能在非安全代码中使用指针——安全代码中只包括指向确切存在的对象的链接;与 Mac 和 Unix 家族系统具有良好的兼容性。不足没有类和继承机制,难以编写面向对象的代码;编译器太过严格,有时候对内存地址的限制过多。

Rust 的使用场景

Rust 支持主要的编程范式:面向对象编程、并发编程、函数式编程和过程编程。它提供了足够的内存管理能力,同时又足够安全,让它成为操作系统和关键应用程序的开发工具。它的主要缺点是硬件厂商对它支持不够,厂商更喜欢使用 C/C++。下面是一些使用 Rust 开发的软件项目:

Redox,一个基于微内核的 Unix 家族操作系统,该操作系统中的大部分软件也是使用 Rust 开发的;Servo,多线程 Web 引擎;Firecracker,用于无服务器环境的微虚拟化系统。使用 Rust 开发的区块链系统

基于分布式账本的系统必须能够以最小的设备计算负载快速地处理请求。C++ 非常适合用来完成这项任务,而使用 Rust 开发区块链系统将会更加高效。下面这些都是值得关注的案例:

微信扫一扫

易采站长站微信账号