绅士地介绍 Rust
为什么要学习一种新的编程语言?
本教程的目标是带您到一个能担当 Rust 读和写的地方,还在线提供优质学习资源,尤其是这本:Rust 编程语言。这是一个 先试后买 的机会,通过感受该语言的力量,会让你想要深入研究一番。
正如,爱因斯坦说过(可能),”As gentle as possible, but no gentler.”。这里有很多新东西要学习,而且不同的是,需要重新整理你的过去思维,因为我们要重新出发啦。 通过’gentle’,你会明白我的意思是,会用示例去友好描述其特性;
当我们遇到困难时,我希望展示, Rust 是如何解决这些问题的。 在了解解决方案的意义之前,理解问题非常重要。 用高档的话说,我们要去在一个山区徒游,期间在路上,我会为你介绍一些有趣的岩层,不用担心,只是几个’地质讲座’,:)。 会有一些上坡难度,但这会让更我们热血沸腾; 社区异常愉快和更乐意帮助人们,如rust 用户论坛和一个活跃的Sub reddit,非常适合。更有官方的常问问题页面,如果你有特定的问题,会是一个很好的资源。
首先,为什么要学习一门新的编程语言? 这是时间和精力的投资,需要一些理由。 即使你没有立即用这种语言找到一份很酷的工作,它也会让你的思维肌肉壮大,并使你成为更好的 programmer。 似乎看起来是一种糟糕的投资回报,但是如果你不一直学习一些 真正的 东西,那么你会停滞不前,即便有十年的经验,也只不过是一遍又一遍地做着同样的事情。
Rust 的闪光点
Rust 是一种静态和强类型的系统编程语言。 静态 意味着,所有类型在编译时都是已知的,强类型 意味着,这些类型的设计使得编写不正确的程序变得更加困难。 一个成功的汇编语言意味着你比牛仔语言(像 C 语言)更好地保证正确性。 系统 意味着通过完全控制内存,生成最佳机器码。 所以可以接受的硬件就很多啦: 操作系统,设备驱动程序和甚至可能没有操作系统的嵌入式系统。 然而,Rust 也能编写普通的应用程序代码,实际上来说,Rust 也是一种非常愉快的语言。
与 C 和 C ++的最大区别在于, Rust 默认是安全的; 所有内存访问都会被检查。不可能因意外,而损坏内存。
Rust 幕后统一原则是:
- 严格执行数据的 安全借用
- 在数据上,用函数,方法和闭包来操作
- 用元组,结构和枚举来聚合数据
- 模式匹配来选择和解构数据
- trait 来定义 数据的 行为
通过 Cargo ,我们可以有一个快速增长的可用库生态系统,我们将通过学习使用标准库来关注语言的核心原则。 我的建议是,编写 很多小例子,所以,学习直接使用rustc
成为了是核心技能。 当我在这段旅程中展示示例时,我编了个叫做rrun
的小脚本,它会编译并运行结果:
rustc $1.rs && ./$1
配置
本教程假设您已在本地安装 Rust。 幸运的是,这非常简单。
$ curl https://sh.rustup.rs -sSf | sh
$ rustup component add rust-docs
我会建议获取默认的稳定(stable)版本; 稍后可以轻松下载不稳定版本并在两者之间切换。
这得到了编译器,包管理器 Cargo,API 文档和 Rust 书。 千里之行始于一步,而这第一步是无痛的。
rustup
是您用来管理 Rust 安装的命令。 当一个新的稳定版本出现时,你只需说rustup update
就可以升级。 rustup doc
将在您的浏览器中打开离线文档。
你可能已经拥有了你喜欢的编辑器,可以看看主流编辑器的基本 Rust 支持。 我建议你先从基本的语法高亮开始,随着程序变大而工作。
我个人很喜欢Geany这是为数不多的具有 Rust 支持的编辑器之一; 它特别易于使用,因为它可以通过软件包管理器获得,但在其他平台上是可以正常工作。
译者: VsCode 也是可以的
最主要的是知道如何编辑,编译和运行 Rust 程序。 你要学会用 手指 (一字一字) 对你的程序进行编程; 自己键入代码,并学习使用编辑器有效地管理,编排你的流程。
Zed Shaw 的 Python 编程的建议很好,且不论是什么语言。 他说学会编程就像学习乐器 - 秘诀是练习和坚持。 瑜伽和柔道武术也有很好的建议,比如太极拳,感受紧,但不要过度紧张。不要壮大傻瓜肌肉.
我想感谢那些,给出我坏英语或坏 Rust 建议的许多贡献者,并且感谢 大卫马力诺-David Marino 对他的 Rust 表现图,他是一位友善但硬派的无瑕骑士,闪耀着盔甲。
Steve Donovan © 2017-2018 MIT license version 0.4.0