前言

虽然不是那么明显,但是 Rust 编程语言从根本上讲就是关于赋能的:无论你现在编写哪种代码,Rust 都能让你在更广泛的编程领域中比以前走得更远,更自信。

例如,“系统级”工作涉及内存管理、数据表示和并发性的底层细节。传统上,这是一个神秘的编程领域,只有花费了必要时间来学习避免其臭名昭著的陷阱的少数人才会涉及到。甚至那些实践者也要谨慎行事,以免代码出现漏洞,崩溃或损坏。

Rust 破除了这些障碍:它消除了旧的陷阱,并提供了一套友好、完善的工具集帮助你,来打破这些障碍。需要“深入”到较底层控制的开发者可以使用 Rust 来做到这一点,而无需担心崩溃或安全漏洞的常见风险,也无需学习纷繁复杂的工具链细节。更好的是,Rust 语言旨在引导你自然地编写出在运行速度和内存使用方面都高效的可靠代码。

已经在从事编写底层代码的开发者都可使用 Rust 来提高自己的抱负。例如,在 Rust 中引入并行性是一个相对较低风险的操作:编译器会为你找到典型的错误。同时,你可以在代码中采取更加激进的优化,而不用担心意外引入崩溃或漏洞。

但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行应用、网络服务器等各种类型的代码————在本书后面将给出这两种应用的简单示例。使用 Rust 能让你把在一个领域中学习到的技能迁移到另一个领域:你可以通过编写 Web 应用来学习 Rust,然后将这些相同的技能应用于你的树莓派(Raspberry Pi,属于嵌入式方面)上。

本书充分体现了 Rust 增强用户编程能力的潜力。其内容通俗易懂,不仅可以帮助你提高对 Rust 的了解,还可以提升你身为开发者的能力和自信。准备好,现在就开始学习吧——欢迎加入 Rust 社区!

— Nicholas Matsakis 和 Aaron Turon