Rust 语言凭借其内存安全、高性能及开发者友好等特性,迅速成为开发者最喜爱的编程语言之一,本文带你探索Rust的魅力。
原文标题:豆瓣 9.2 高分口碑,这本书凭什么能得到大家的认可?
原文作者:图灵编辑部
冷月清谈:
怜星夜思:
2、除了文章提到的应用领域,Rust 在其他领域还有哪些潜在的应用前景?
3、与其他系统级编程语言(如 C/C++、Go)相比,Rust 的优势和劣势分别是什么?在选择编程语言时,应该如何权衡?
原文内容
1►
什么是 Rust 编程语言
Rust 最初的设计目标之一是提供一种更安全的系统级编程语言,它不仅在系统编程领域被视为 C 和 C++ 的有力竞争者,还在 Web 开发、嵌入式、区块链等多个领域展现出了强大优势。
2006 年,软件开发者 Graydon Hoare 在业余时间启动了 Rust 语言的开发,该项目最初并非 Mozilla 的正式项目。直到 2009 年,Mozilla 看到 Rust 的潜力,开始提供资助和支持,使其成为一个正式的开源项目。
根据 Graydon Hoare 在 MIT Technology Review 的采访,Rust 的灵感来源于他公寓楼里一部故障电梯。电梯操作系统软件崩溃了,Hoare 发现这类问题通常源自程序如何使用内存的问题。
许多这类设备的软件是用 C 或 C++ 编写的,但这些语言需要大量的内存管理,这可能会导致系统崩溃。因此,Hoare 开始思考如何创建一门既简洁又没有内存问题的编程语言。
他后来将这个项目展示给了一个经理,这促使 Mozilla 在 2009 年赞助了该项目,作为其长期计划的一部分,将 Rust 融入到开发实验性浏览器引擎中。2010 年,Mozilla Research 正式宣布了 Rust 项目,并将源代码公开,成为开源项目。经过几年的开发,Rust 达到了稳定和成熟的状态——2015 年 5 月,Rust 1.0 发布,这标志着 Rust 准备进入生产阶段,为开发者提供了一个构建基础。
2►
Rust 有什么特别之处
GitHub 的一位资深软件工程师 Jason Orendorff 与人合著了一本关于学习 Rust 编程的书,他谈到这门语言时说:“对我来说,Rust 的优点在于它既快又可靠,”Orendorff 说:“它让我写出可以在 16 个内核上运行的多线程程序,同时保持代码的可读性、可维护性和无崩溃。它还让我编写非常底层的算法,控制内存布局,并可以引入一个简单的 crate 来进行 HTTPS 请求。正是这些特性使得 Rust 独一无二。”
Jason Orendorff 创作的 Rust 书就是这本👆
在此基础上,以下是它更多深受喜爱的特性和功能:
-
并发。Rust 通过其所有权系统内置了对并发编程的支持,该系统对数据访问施加了严格的规则。其借用模型允许受控的同步访问,从而有效防止数据竞争。这确保了多个线程可以安全地共享数据,而不会引发内存相关的问题。
-
没有垃圾回收。与某些编程语言不同,Rust 不使用垃圾回收。相反,它的所有权和借用规则管理内存,这有助于开发人员精确控制内存分配和释放,以实现高效的资源管理。
-
Cargo 包管理器。Rust 的内置包管理器 Cargo 简化了项目管理、依赖项跟踪和构建,这有助于实现高效和有序的开发工作流程。但这并不能清楚地表明 Cargo 生态系统有多么疯狂。根据 Orendorff 的说法:“我的团队利用高质量的开源包进行哈希、序列化、多线程、数据结构、压缩等等。这些是性能关键型库。如果没有其中的一些库,我们重新思考 GitHub 上的代码搜索的项目就不可能实现。“这里有一个有趣的事实:Rust 的 Cargo 工具为其生态系统提供了强大的支持,使开发者能够轻松管理依赖项、构建项目并发布库。它是系统编程语言中少数拥有官方内置包管理器的语言之一,并极大推动了 Rust 社区的发展。
-
零成本抽象。此功能允许开发人员编写高级代码抽象和功能,而不会引入任何运行时的性能开销。
-
模式匹配。这种强大的语言功能使开发人员能够简洁有效地将复杂的数据结构与特定模式进行匹配,从而以清晰可读的方式提取和处理不同的情况或场景。
-
类型推断。此功能允许 Rust 的编译器在您编码时根据上下文自动检测表达式。“许多编程语言都有一些类型推断,”Orendorff 说:“C# 和 C++ 有一些,Rust 有更多,而 Haskell、Scala 和 ML 等语言甚至更多。”
fn main() {
break rust;
}运行此代码,了解 Rust 开发人员😆之间的内部笑话
3►
通常用 Rust 来做什么
-
使用 Rust 构建性能关键型后端系统
-
使用 Rust 开发操作系统
-
Rust 用于操作系统相邻代码
-
使用 Rust 进行加密和区块链开发
-
使用 Rust 构建 CLI 工具
Rust 的零成本抽象、强大的错误处理能力和生态工具(如 Clap 库)使其成为构建命令行工具的绝佳选择。许多开发者选择 Rust 来编写 CLI 应用,因为它提供了高性能、良好的可维护性,并能够编译成单个二进制文件,便于分发和部署。此外,编写命令行应用程序是学习和熟悉 Rust 的好方法。
-
使用 Rust 进行嵌入式系统和 IoT 开发
4►
为什么开发人员喜欢 Rust
虽然 Rust 的用户基数远不及 Java 或 Python,但它仍然在全球开发者中享有极高的声誉,常常跻身最受喜爱的编程语言榜单。
那么,究竟是什么让开发者如此喜爱 Rust 呢?如果简要总结开发者喜爱 Rust 的原因,那必定是它的速度、安全性和性能。
此外,Rust 正在通过新的框架、工具和资源不断发展和成长。您可以在 awesome-rust 存储库中密切关注对该语言的贡献,该存储库包含令人印象深刻的 Rust 代码和资源列表。
5►
Rust 领域内最好的入门教程
汪志成(@雪狼)| 译
Rust 领域经典参考书,由业内资深系统程序员编写,广受读者好评。书中全面介绍了 Rust 这种新型系统编程语言——具有无与伦比的安全性,兼具 C 和 C++ 的高性能,并大大简化了并发程序的编写。
第 2 版对上一版内容进行了重组和完善,新增了对“异步编程”的介绍。借助书中的大量案例,你也能用 Rust 编写出兼顾安全性与高性能的程序。
为什么这本书备受推崇?先来看看该书在国内和国外平台上的读者评论。
豆瓣上这本书获得 9.2 分的高分评价。
在美国亚马逊上也是得到了诸多好评。
汇总一下就是:读者大佬们表示,这本书你可以读了又读,也可以跳着读,即使读过之后,你也可以放到书架上,随时参考,因为通过这本宝藏书,你总能发现更多细节,学到更多知识。
在这里也把这本书的目录给大家放上,想学习 Rust 的小伙伴可以了解一下本书的内容。
内容优质,翻译精良,由领域内 Rust 专家雪狼老师翻译。并邀请来 30 位一线 Rust 开发者与爱好者精心审读。还获得陈天、唐刚、王旭、张汉东、张炎泼等专家推荐。
新年,如果你打算学习 Rust,这本书一定不要错过!