为什么 Linux 用户应该试一试 Rust
创始人
2024-03-02 00:43:20
0

在 Linux 系统上安装 Rust 编程语言可能是你近年来所做的最有价值的事情之一。

Rust 是一种相当年轻和现代的编程语言,具有许多使其非常灵活而及其安全的功能。数据显示它正在变得非常受欢迎,连续三年(201620172018)在 Stack Overflow 开发者调查中获得“最受喜爱的编程语言”的第一名。

Rust 也是开源语言的一种,它具有一系列特殊的功能,使得它可以适应许多不同的编程项目。 它最初源于 2006 年 Mozilla 员工的个人项目,几年后(2009 年)被 Mozilla 选为特别项目,然后在 2010 年宣布供公众使用。

Rust 程序运行速度极快,可防止段错误,并能保证线程安全。这些属性使该语言极大地吸引了专注于应用程序安全性的开发人员。Rust 也是一种非常易读的语言,可用于从简单程序到非常大而复杂的项目。

Rust 优点:

  • 内存安全 —— Rust 不会受到悬空指针、缓冲区溢出或其他与内存相关的错误的影响。它提供内存安全,无回收垃圾。
  • 通用 —— Rust 是适用于任何类型编程的语言
  • 快速 —— Rust 在性能上与 C / C++ 相当,但具有更好的安全功能。
  • 高效 —— Rust 是为了便于并发编程而构建的。
  • 面向项目 —— Rust 具有内置的依赖关系和构建管理系统 Cargo。
  • 得到很好的支持 —— Rust 有一个令人印象深刻的支持社区

Rust 还强制执行 RAII( 资源获取初始化 Resource Acquisition Is Initialization )。这意味着当一个对象超出范围时,将调用其析构函数并释放其资源,从而提供防止资源泄漏的屏蔽。它提供了功能抽象和一个很棒的类型系统,并具有速度和数学健全性。

简而言之,Rust 是一种令人印象深刻的系统编程语言,具有其它大多数语言所缺乏的功能,使其成为 C、C++ 和 Objective-C 等多年来一直被使用的语言的有力竞争者。

安装 Rust

安装 Rust 是一个相当简单的过程。

$ curl https://sh.rustup.rs -sSf | sh

安装 Rust 后,使用 rustc --versionwhich 命令显示版本信息。

$ which rustc
rustc 1.27.2 (58cc626de 2018-07-18)
$ rustc --version
rustc 1.27.2 (58cc626de 2018-07-18)

Rust 入门

Rust 即使是最简单的代码也与你之前使用过的语言输入的完全不同。

$ cat hello.rs
fn main() {
    // Print a greeting
    println!("Hello, world!");
}

在这些行中,我们正在设置一个函数(main),添加一个描述该函数的注释,并使用 println 语句来创建输出。您可以使用下面显示的命令编译然后运行程序。

$ rustc hello.rs
$ ./hello
Hello, world!

另外,你也可以创建一个“项目”(通常仅用于比这个更复杂的程序!)来保持代码的有序性。

$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world

请注意,即使是简单的程序,一旦编译,就会变成相当大的可执行文件。

$ ./hello
Hello, world!
$ ls -l hello*
-rwxrwxr-x 1 shs shs 5486784 Sep 23 19:02 hello     <== executable
-rw-rw-r-- 1 shs shs 68 Sep 23 15:25 hello.rs

当然,这只是一个开始且传统的“Hello, world!” 程序。 Rust 语言具有一系列可帮助你快速进入高级编程技能的功能。

学习 Rust

No Starch Press

Steve Klabnik 和 Carol Nichols 的《Rust 编程语言》 (2018)一书提供了学习 Rust 的最佳方法之一。 这本书由核心开发团队的两名成员撰写,可从 No Starch Press 出版社获得纸制书或者从 rust-lang.org 获得电子书。它已经成为 Rust 开发者社区中的参考书。

在所涉及的众多主题中,你将了解这些高级主题:

  • 所有权和 borrowing
  • 安全保障
  • 测试和错误处理
  • 智能指针和多线程
  • 高级模式匹配
  • 使用 Cargo(内置包管理器)
  • 使用 Rust 的高级编译器

目录

  • 前言(Nicholas Matsakis 和 Aaron Turon 编写)
  • 致谢
  • 介绍
  • 第 1 章:新手入门
  • 第 2 章:猜谜游戏
  • 第 3 章:通用编程概念
  • 第 4 章:了解所有权
  • 第 5 章:结构
  • 第 6 章:枚举和模式匹配
  • 第 7 章:模块
  • 第 8 章:常见集合
  • 第 9 章:错误处理
  • 第 10 章:通用类型、特征和生命周期
  • 第 11 章:测试
  • 第 12 章:输入/输出项目
  • 第 13 章:迭代器和闭包
  • 第 14 章:关于货物和 Crates.io 的更多信息
  • 第 15 章:智能指针
  • 第 16 章:并发
  • 第 17 章:Rust 是面向对象的吗?
  • 第 18 章:模式
  • 第 19 章:关于生命周期的更多信息
  • 第 20 章:高级类型系统功能
  • 附录 A:关键字
  • 附录 B:运算符和符号
  • 附录 C:可衍生的特征
  • 附录 D:宏
  • 索引

Rust 编程语言》 将你从基本安装和语言语法带到复杂的主题,例如模块、错误处理、crates(与其他语言中的 “library” 或“package”同义),模块(允许你将你的代码分配到 crate 本身),生命周期等。

可能最重要的是,本书可以让您从基本的编程技巧转向构建和编译复杂、安全且非常有用的程序。

结束

如果你已经准备好用一种非常值得花时间和精力学习并且越来越受欢迎的语言进行一些严肃的编程,那么 Rust 是一个不错的选择!

加入 FacebookLinkedIn 上的 Network World 社区,评论最重要的话题。


via: https://www.networkworld.com/article/3308162/linux/why-you-should-try-rust.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:way-ww 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Ubuntu 开发方 Ca...
3 月 25 日消息, Linux 发行版 Ubuntu 开发方 ...
2026-03-25 18:01:29
微软开源Litebox库系...
IT之家 2 月 7 日消息,科技媒体 WinAero 昨日(2 ...
2026-02-07 08:48:15
微软定目标:2030年,彻...
编辑 | 泽南 忍不了了,微软要消灭 C 语言了? 最近几天,有关...
2026-01-19 19:27:16
原创 ...
文 |姑苏九歌 编辑 |姑苏九歌 Linux内核最近干了件大事,R...
2026-01-19 19:22:40
Linux内核首个涉及Ru...
12 月 18 日消息,Linux 内核维护者 Greg Kroa...
2025-12-18 17:17:28
最受欢迎的开源Rust跨平...
Iced 是一个为 Rust 语言设计的开源跨平台 GUI(图形用...
2025-12-10 17:16:12

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...