为什么 Linux 用户应该试一试 Rust | Linux 中国

2018 年 10 月 26 日 Linux中国
在 Linux 系统上安装 Rust 编程语言可能是你近年来所做的最有价值的事情之一。
-- Sandra Henry-stocker



致谢
编译自 | 
https://www.networkworld.com/article/3308162/linux/why-you-should-try-rust.html
 
 作者 | Sandra Henry-stocker
 译者 | way-ww 🌟🌟共计翻译:4.0 篇 贡献时间:29 天

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

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

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

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

Rust 优点:

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

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

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

安装 Rust

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

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

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

   
   
     
  1. $ which rustc

  2. rustc 1.27.2 (58cc626de 2018-07-18)

  3. $ rustc --version

  4. rustc 1.27.2 (58cc626de 2018-07-18)

Rust 入门

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

   
   
     
  1. $ cat hello.rs

  2. fn main() {

  3.    // Print a greeting

  4.    println!("Hello, world!");

  5. }

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

   
   
     
  1. $ rustc hello.rs

  2. $ ./hello

  3. Hello, world!

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

   
   
     
  1. $ mkdir ~/projects

  2. $ cd ~/projects

  3. $ mkdir hello_world

  4. $ cd hello_world

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

   
   
     
  1. $ ./hello

  2. Hello, world!

  3. $ ls -l hello*

  4. -rwxrwxr-x 1 shs shs 5486784 Sep 23 19:02 hello     <== executable

  5. -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 编程语言[6]》 (2018)一书提供了学习 Rust 的最佳方法之一。 这本书由核心开发团队的两名成员撰写,可从 No Starch Press[6] 出版社获得纸制书或者从 rust-lang.org[7] 获得电子书。它已经成为 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 编程语言[6]》 将你从基本安装和语言语法带到复杂的主题,例如模块、错误处理、crates(与其他语言中的 “library” 或“package”同义),模块(允许你将你的代码分配到 crate 本身),生命周期等。

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

结束

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

加入 Facebook[8] 和 LinkedIn[9] 上的 Network World 社区,评论最重要的话题。


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

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

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



Rust 编程语言[6]》 似乎并未在中国翻译出版,因此如果你对 Rust 感兴趣的话,可以看看这本:


登录查看更多
0

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
【干货书】现代数据平台架构,636页pdf
专知会员服务
259+阅读 · 2020年6月15日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
291+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
239+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
264+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
122+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
183+阅读 · 2020年1月1日
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python语音识别终极指南
人工智能头条
8+阅读 · 2018年4月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
A survey on deep hashing for image retrieval
Arxiv
15+阅读 · 2020年6月10日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
【干货书】现代数据平台架构,636页pdf
专知会员服务
259+阅读 · 2020年6月15日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
291+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
239+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
264+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
122+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
183+阅读 · 2020年1月1日
相关资讯
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python语音识别终极指南
人工智能头条
8+阅读 · 2018年4月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
相关论文
A survey on deep hashing for image retrieval
Arxiv
15+阅读 · 2020年6月10日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2017年7月23日
Top
微信扫码咨询专知VIP会员