当 Rust 遇上 Fedora

简介:

Rust 是什么?

Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所有的崩溃、内存区块错误 以及数据竞争。你也许会质疑为什么我们还需要又一种这样的语言,因为已经有很多同类的语言了。这篇文章将会告诉你为什么。

安全性 vs. 控制权
image
你也许见过上面的图谱。一边是 C/C++,对运行的硬件拥有更多的控制权,因此它可以让开发者通过对所生成的机器代码进行更精细的控制来优化性能。然而这不是很安全,这很容易造成内存区块错误以及像 心血漏洞 这样的安全漏洞。

另一边是像 Python、Ruby 和 JavaScript 这种没有给予开发者多少控制权但是可以创建出更安全的代码的语言。虽然这些代码可以生成相当安全并且可控的异常,但是它们不会造成内存区块错误。

在图谱中间的区域是 Java 和一些其它混合了这些特性的语言。它们提供对运行的硬件部分控制权,并且尝试尽量减少漏洞的出现。

Rust 有点不太一样,它并没有出现在这个图谱上。它同时提供给开发者安全性和控制权。

Rust 的特性

Rust 是一种像 C/C++ 一样的系统编程语言,除此之外它还给予开发者对内存分配细粒度的控制。它不需要垃圾回收器。它的运行环境runtime很小,运行速度接近于在裸机上的运行。它为开发者提供了代码性能更大的保证。此外,任何了解 C/C++ 的人都能读懂以及编写 Rust 的代码。

Rust 的运行速度非常快,因为它是一种编译语言。它使用 LLVM 作为编译器的后端,并且还可以利用一大堆优化。在许多领域,它的性能都要高于 C/C++。它像 JavaScript、Ruby 和 Python 一样,与生俱来就是安全的,这意味着它们不会造成内存区块错误、野指针dangling pointers或者空指针null pointers。

另外一个很重要的特性就是消除数据竞争。如今,大多数计算机都具有多个核心,许多线程并发运行。然而,开发者很难编写好的并行代码,因此这个特性除去了他们的后顾之忧。Rust 使用两个关键概念来消除数据竞争:

所有权Ownership
。每一个变量都被移动到一个新的位置,并防止通过先前的位置来引用它。每一个数据块只有一个所有者。

借用Borrowing
。被拥有的值可以借用,以允许在一段时间内使用。

在 Fedora 24 和 25 上使用 Rust

若要开始使用,只需安装软件包:

sudo dnf install rust

示例代码 helloworld.rs:

fn main() {    println!("Hello, Rust is running on Fedora 25 Alpha!");}

编译并执行:

rustc helloworld.rs./helloworld

在 Fedora 上可以执行以下命令来安装最新的测试版本:

sudo dnf --enablerepo=updates-testing --refresh --best install rust
目录
相关文章
|
7月前
|
Rust 安全 编译器
如何在 Fedora 上安装 Rust?
如何在 Fedora 上安装 Rust?
156 0
如何在 Fedora 上安装 Rust?
|
7月前
|
Rust 安全 开发者
Rust之旅:打造并发布你的首个Rust库
本文将引导读者走进Rust的世界,从基础概念讲起,逐步深入到如何创建、测试、打包和发布自己的Rust库。通过实际操作,我们将理解Rust的独特之处,并学会如何分享自己的代码到Rust社区,从而为开源世界做出贡献。
|
Rust 编译器 C语言
Rust安装手册
卸载 Rust 在任何时候如果您想卸载 Rust,您可以运行 rustup self uninstall。但我们会想念您的!
229 0
Rust安装手册
|
3月前
|
Rust 编译器 测试技术
30天拿下Rust之深入Cargo
30天拿下Rust之深入Cargo
45 0
|
4月前
|
Rust 安全 调度
从零构建梦想操作系统:用Rust语言亲手打造专属内核,你也可以成为系统开发者!
【8月更文挑战第31天】开发操作系统内核虽具挑战,却也充满乐趣。本文将指导你从零开始,使用Rust语言构建一个简单的操作系统内核。首先安装Rust环境和交叉编译工具链,然后创建新项目`my_kernel`。通过修改`Cargo.toml`和编写启动函数,结合串口输出和`multiboot2`库,最终使用QEMU运行内核。此教程旨在帮助你理解Rust在系统开发中的应用,激发深入探索的兴趣。
197 1
|
4月前
|
Rust IDE 安全
30天拿下Rust之环境搭建
Rust是一门注重安全与速度的现代系统级编程语言,凭借其独特的内存安全保证和卓越性能,在系统编程、WebAssembly等领域崭露头角。本文引导您完成Rust开发环境搭建,包括通过Rustup安装Rust及其工具链,并介绍如何使用Cargo——Rust的包管理和构建工具。此外,还推荐了几款支持Rust的集成开发环境(IDE),如RustRover、IntelliJ IDEA/CLion及VSCode等。最后,通过创建并运行一个简单的“Hello, world!”程序,让您亲身体验Rust编程的魅力。
119 6
|
7月前
|
Rust Linux 开发工具
Rust安装
该文介绍了如何在Linux、mac和Windows上安装Rust编程语言。在Linux和mac系统中,可以通过运行一个curl命令自动下载并安装;在Windows上,需从官方网站下载安装包。安装完成后,使用`rustc --version`检查Rust版本以确认安装成功。此外,还提到了如何更新Rust(使用`rustup update`)和卸载(使用`rustup self uninstall`)以及查看官方文档(运行`rustup doc`)。推荐的开发工具有Visual Studio Code和JetBrains CLion,需要安装Rust插件。
|
7月前
|
Rust 编译器 Linux
【Rust】——rust前言与安装rust
【Rust】——rust前言与安装rust
【Rust】——rust前言与安装rust
|
7月前
|
Rust 安全
Rust采用率不断提高,2022年度Rust调查报告出炉!
Rust采用率不断提高,2022年度Rust调查报告出炉!
|
7月前
|
XML 存储 Rust
Rust中的热门第三方库:Serde与Reqwest探秘
本文将带您走进Rust的生态系统,重点介绍两个广受欢迎的第三方库:Serde和Reqwest。Serde以其强大的序列化和反序列化能力而著称,而Reqwest则为Rust开发者提供了简洁、高效的HTTP客户端功能。通过深入了解这两个库,您将能够更好地利用它们来加速您的Rust项目开发。