【书籍推荐】30本Rust语言编程,建议收藏

中文书籍推荐

img

本书详细描述了Rust语言的基本语法,穿插讲解一部分高级使用技巧,并以更容易理解的方式解释其背后的设计思想。全书总共分五个部分。

第一部分介绍Rust基本语法,因为对任何程序设计语言来说,语法都是基础,学习这部分是理解其他部分的前提。

第二部分介绍属于Rust独一无二的内存管理方式。它设计了一组全新的机制,既保证了安全性,又保持了强大的内存布局控制力,而且没有额外性能损失。这部分是本书的重点和核心所在,也是Rust语言的思想内核精髓之处。

第三部分介绍Rust的抽象表达能力。它支持多种编程范式,以及较为强大的抽象表达能力。

第四部分介绍并发模型。在目前这个阶段,对并行编程的支持是新一代编程语言不可绕过的重要话题。Rust也吸收了业界最新的发展成果,对并发有良好支持。

第五部分介绍一些实用设施。Rust语言有许多创新,但它绝不是高高在上孤芳自赏的类型,设计者在设计过程中充分考虑了语言的工程实用性。众多在其他语言中被证明过的优秀实践被吸收了进来,有利于提升实际工作效率。

通过此书,读者能够深入透彻地理解Rust的高阶特性,比如代数类型系统、生命周期、借用检查、内部可变性、线程安全、泛型、闭包、迭代器、生成器等。可作为参考书供学生、软件工程师、研究人员以及其他对Rust语言感兴趣的读者参考。本书所揭示的Rust编程语言的设计思想对于理解其他系统编程语言,如C++,也非常有帮助。

img

本书由Rust核心开发团队编写而成,由浅入深地探讨了Rust语言的方方面面。从学习函数、选择数据结构及绑定变量入手,逐步介绍所有权、trait、生命周期、安全保证等高级概念,模式匹配、错误处理、包管理、函数式特性、并发机制等实用工具,以及两个完整的项目开发实战案例。

作为开源的系统级编程语言,Rust可以帮助你编写出更为快速且更为可靠的软件,在给予开发者底层控制能力的同时,通过深思熟虑的工程设计避免了传统语言带来的诸多麻烦。 本书被视为Rust开发工作的必读书目,适合所有希望评估、入门、提高和研究Rust语言的软件开发人员阅读。

img

  1. Rust是一门新的系统编程语言,兼具C和C++的高性能和底层控制能力,而且能保证内存安全和线程安全,是系统编程发展史上的一个巨大进步;
  2. 本书对Rust进行了全面介绍,详细解释了这门语言的重要概念,并提供了大量清晰易懂的示例,逐步指导读者用Rust编写出既安全又高性能的程序;
  3. 本书由两位具有数十年经验的系统程序员撰写,他们不仅分享了自己对Rust的深刻见解,而且还提供了一些建议和操作实践,对Rust开发者和系统程序员十分有帮助。
  • Rust如何在内存中表示值(辅以图表)

  • 完整解释了所有权、转移、借用和生命期

  • Cargo、rustdoc、单元测试,以及如何在Rust公共包仓库上发布代码

  • 泛型代码、闭包、集合和迭代器等高级特性

  • Rust中的并发:线程、互斥量、通道和原子操作

  • 不安全代码,以及如何保持使用常规代码的完整性

  • 用丰富的例子展示了Rust各方面特性的综合运用

  • 《精通Rust(第2版)》

img

Rust是一门系统编程语言,是支持函数式、命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似。Rust快速、可靠、安全,它提供了甚至超过C/C++的性能和安全保证,同时它也是一种学习曲线比较平滑的热门编程语言。

本书内容共17章,由浅入深地讲解Rust相关的知识,涉及基础语法、软件包管理器、测试工具、类型系统、内存管理、异常处理、高级类型、并发模型、宏、外部函数接口、网络编程、HTTP、数据库、WebAssembly、GTK+框架和GDB调试等重要知识点。 本书适合想学习Rust编程的读者阅读,希望读者能够对C、C++或者Python有一些了解。

书中丰富的代码示例和详细的讲解能够帮助读者快速上手,高效率掌握Rust编程。

img

适读人群 :适合本书的读者群体包括:

  1. 有一定编程经验,想要学习Rust的初学者。
  2. 对Rust有一定了解,还想对Rust深入学习的进阶者。 本书不适合完全没有编程基础的人学习。
  • Rust,集安全、高性能、高效率、高可读性于一身,是开发一款优秀产品不得不考虑的编程语言,学习Rust势在必行!
  • 本书作者作为Rust语言的早期实践者,以及中国社区的管理运营者,对Rust的设计理念有深入理解,并有丰富的实践经验。
  • 从设计哲学、源码分析、工程视角、底层原理多个维度,对Rust语言进行系统化梳理,帮助读者理清知识脉络,降低学习曲线。
  • 本书附有随书源码,配套运行,方便读者在实践中巩固理论知识,熟悉Rust在生产环境中的应用,避免纸上谈兵的尴尬。

英文书籍推荐

入门书籍

这是 Rust-101,一个 Rust 语言的小教程。它旨在成为一门交互式的动手课程:我相信真正学习一门语言的唯一方法是在其中编写代码,因此您应该在课程中进行编码。如果您有任何未在此处回答的问题,请查看下面的“其他资源”。尤其是,IRC 频道里挤满了愿意帮助你的很棒的人!我在那里花了很多时间 ;-) 我假设对编程有一定的了解,因此不会解释大多数语言共有的基本概念。相反,我将专注于 Rust 的特殊之处。

Rust by Example (RBE) 是一组可运行的示例,用于说明各种 Rust 概念和标准库。

img

尽管自 40 多年前引入 C 以来,系统编程语言已经有了很大的发展,但我们对造成巨大后果的愚蠢错误的能力仍然没有改变,新闻中经常有生动的例子。这份 O'Reilly 报告研究了 Rust,这是一种新的系统编程语言,它将安全性和安全性与性能相结合,与 C 和 C++ 相当。

img

Rust 是一种高度并发和高性能的语言,专注于安全和速度、内存管理和编写干净的代码。它还保证线程安全,其目的是提高现有应用程序的性能。它得到了 Mozilla 的支持,以解决并发的关键问题。

img

学习在 Unix、Linux shell、macOS 和 Windows 命令行上以简单、循序渐进的方式使用 Rust 进行编程。当您阅读本书时,您将建立在您在前几章中获得的知识的基础上,并了解 Rust 提供了什么。

开始 Rust 从 Rust 的基础开始,包括如何命名对象、控制执行流和处理原始类型。您将看到如何进行算术运算、分配内存、使用迭代器以及处理输入/输出。一旦掌握了这些核心技能,您将着手处理错误并使用 Rust 的面向对象特性立即构建健壮的 Rust 应用程序。

只需要基本的编程知识,最好是 C 或 C++。要理解这本书,知道什么是整数和浮点数,以及区分标识符和字符串文字就足够了。

img

本书将帮助您理解 Rust 语言的核心概念,使您能够通过整合零成本抽象和更好的内存管理等功能来开发高效和高性能的应用程序。深入研究 Rust 中的高级概念,例如错误处理、宏、包和并行性。在本书的最后,学习如何创建 HTTP 服务器和 Web 服务,在服务器端编程方面建立强大的基础知识,并能够提供使用 Rust 构建高性能和更安全的生产级 Web 应用程序和服务的解决方案。

img

Mozilla 的 Rust 以其惊人的功能和强大的库而备受关注。本书将带您了解各种秘诀,教您如何利用标准库来实现高效的解决方案。

本书首先简要介绍了标准库和馆藏的基本模块。从这里开始,食谱将涵盖通过解析支持文件/目录处理和交互的包。您将了解与高级数据结构、错误处理和网络相关的包。您还将学习使用期货和实验性夜间功能。这本书还涵盖了 Rust 中最相关的外部 crate。

img

Rust 足够低级,可以提供对内存的细粒度控制,同时通过编译时验证提供安全性。这使得它特别适合编写低级网络应用程序。

本书分为三个主要部分,将带您踏上构建功能齐全的 Web 服务器的激动人心的旅程。本书首先对 Rust 和基本的网络概念进行了扎实的介绍。这将为整本书奠定基础并定下基调。在第二部分中,我们将深入研究如何使用 Rust 开发网络软件。从使用套接字的客户端-服务器网络到 IPv4/v6、DNS、TCP、UDP,您还将了解使用 serde 序列化和反序列化数据。这本书展示了如何通过 HTTP 与 REST 服务器进行通信。本书的最后一部分讨论了使用 Tokio 堆栈进行异步网络编程。鉴于安全对于现代系统的重要性,您将看到 Rust 如何支持常见的原语,例如 TLS 和公钥加密。

img

从介绍 Rust 开始,您将学习基本方面,例如其语法、数据类型、函数、泛型、控制流等。在此之后,您将直接开始构建您的第一个项目,俄罗斯方块游戏。接下来,您将使用 Tokio(可扩展且高效的异步 IO Rust 库)构建图形音乐播放器并使用快速、可靠的网络软件。

在本书的过程中,您将探索 Rust 编程的各种特性,包括它的 SDL 特性、事件循环、文件 I/O 和著名的 GTK+ 小部件工具包。通过这些项目,您将看到 Rust 在并发方面的表现——包括并行性、可靠性、改进的性能、泛型、宏和线程安全。我们还将介绍 Rust 的一些异步和反应式编程方面。

img

熟悉使用流行的新系统编程语言编写程序,这些语言将低级语言的强大性能与多线程代码中的线程安全等高级功能结合在一起。

img

Rust in Action 是一本面向想要探索 Rust 编程语言世界的中级程序员的书。它适用于可能已经用尽网络上的免费资料但仍想了解更多信息的人。它与 Rust 编程的其他材料不同,因为它还教您有关系统编程的知识。您将能够更多地了解 CPU 的工作原理、计算机如何计时、指针是什么以及您的网卡和键盘如何告诉 CPU 它们已准备好读取输入。

从系统编程书籍的角度来看,它实际上也是独一无二的 - 因为几乎每个示例都适用于 Windows!如果你是那种喜欢实际例子的学习者,你会喜欢阅读这本书。

img

Rust 是一种静态和强类型的系统编程语言。静态意味着所有类型在编译时都是已知的,强烈意味着这些类型旨在使编写不正确的程序变得更加困难。一个成功的编译意味着你可以比使用像 C 这样的牛仔语言更好地保证正确性。系统意味着生成最好的机器代码,并完全控制内存使用。因此,其用途非常核心:操作系统、设备驱动程序和甚至可能没有操作系统的嵌入式系统。然而,它实际上也是一种非常令人愉快的语言,可以用来编写普通的应用程序代码。

与 C 和 C++ 的最大区别在于 Rust 默认是安全的;检查所有内存访问。意外损坏内存是不可能的。

img

Rust 中的机器学习已经被社区忽视了很长一段时间。由于宇宙中散布着许多不同的板条箱,这本书试图统一所有的信息和用法,并在某种程度上动摇社区采取行动。数据是新的前沿领域,而 Rust 必须成为其中的一部分。

阅读了使用 Rust 的实用机器学习之后,您将对使用 Rust 创建高计算库有一个深入的了解。掌握了这种神奇语言的知识,您将能够创建性能更高、内存安全且资源占用更少的应用程序。

img

Rust Web Development 是使用 Rust 构建基于服务器的 Web 应用程序的实践指南。如果您使用 Java、C# 或 PHP 构建了 Web 服务器,您会立即爱上 Rust 提供的性能和开发体验。本书向您展示了如何使用纯 Rust 以及重要的 Rust 库(例如用于异步运行时的 tokio、用于 Web 服务器和 API 的 warp 以及运行外部 HTTP 请求的 reqwest 等)高效工作。

您可以将这本书交给新聘用的开发人员,并让他们使用这本书。它包含非常实用的示例和模式,并为未来探索该主题奠定了坚实的基础。

进阶书籍

本书深入探讨了编写正确的不安全 Rust 程序所需的所有可怕细节。由于这个问题的性质,它可能会导致释放出无法言喻的恐怖,将你的心灵粉碎成十亿个无限小的绝望碎片。

如果您希望编写 Rust 程序的职业生涯长久而快乐,那么现在您应该回过头来忘记您曾经看过这本书。这不是必要的。但是,如果您打算编写不安全的代码——或者只是想深入了解语言的本质——这本书包含了宝贵的信息。

img

这本实用的书向系统程序员介绍了 Rust,一种新的前沿语言。您将了解 Rust 如何提供静态验证的内存安全和低级控制的罕见且有价值的组合——想象一下 C++,但没有悬空指针、空指针取消引用、泄漏或缓冲区溢出。

img

本书首先论证了 Rust 在当今编程语言领域的独特地位。安装 Rust 并学习如何使用它的包管理器 Cargo。逐步介绍各种概念:变量、类型、函数和控制结构,以打下基础。然后探索更多结构化数据,例如字符串、数组和枚举,并了解模式匹配的工作原理。

在这一切中,本书强调了 Rust 编译器用来生成安全代码的独特推理方式。接下来看看 Rust 特定的错误处理方式,以及特征在 Rust 代码中的整体重要性。在我们探索各种指针类型时,将深入探讨内存安全的支柱。接下来,看看宏如何简化代码生成,以及如何使用模块和板条箱组合更大的项目。最后,了解我们如何在 Rust 中编写安全的并发代码并与 C 程序接口,了解 Rust 生态系统,并探索标准库的使用。

img

本书将教你如何在现代机器上管理程序性能,并在 Rust 中构建快速、内存安全和并发的软件。它从 Rust 的基础开始,讨论机器架构概念。您将了解如何系统地衡量和改进 Rust 代码的性能,以及如何自信地编写集合。您将了解应用于线程的 Sync 和 Send 特性,并使用锁、原子原语、数据并行等来协调线程执行。

本书将向您展示如何在 C++ 代码中有效地嵌入 Rust,并探索用于多线程应用程序的各种 crate 的功能。它深入探讨了实现。您将了解互斥锁的工作原理并自行构建多个互斥锁。您将掌握生态系统中存在的完全不同的方法来构建和管理大规模系统。

img

函数式编程允许开发人员将程序划分为更小的、可重用的组件,从整体上简化软件的创建、测试和维护。结合 Rust 的强大功能,您可以开发满足现代软件需求的强大且可扩展的应用程序。本书将帮助您发现可用于以功能方式构建软件的所有 Rust 功能。

我们首先对针对不同问题和模式的函数式方法和面向对象方法进行简要比较。然后我们快速查看控制流的模式、数据以及这些函数式编程独有的抽象。下一部分介绍如何在 Rust 中创建功能性应用程序;还讨论了 Rust 独有的可变性和所有权。接下来检查纯函数,您将掌握闭包、它们的各种类型和柯里化。我们还通过功能设计原则和使用宏的元编程来实现并发。最后,我们看看调试和优化的最佳实践。

读完本书,您将熟悉函数式编程方法,并能够在日常工作中使用这些技术。

img

有时,很难从 Rust 中获得最佳性能。这本书教你将你的 Rust 代码的速度优化到 C/C++ 等语言的水平。您将了解并修复常见的陷阱,了解如何通过使用元编程来提高生产力,并通过安全轻松地并发执行部分代码来加速代码。您将掌握这门语言的特性,这将使您脱颖而出,并使用它们来真正提高算法的效率

本书以一个温和的介绍开始,以帮助您识别 Rust 编程时的瓶颈。我们重点介绍了常见的性能缺陷,以及及早发现和解决这些问题的策略。我们继续掌握 Rust 的类型系统,这将使我们能够在编译时在性能和安全性方面进行令人印象深刻的优化。然后,您将学习如何在 Rust 中有效地管理内存,掌握借用检查器。我们继续测量性能,您将看到这如何影响您编写代码的方式。继续前进,您将在 Rust 中执行元编程,以提高代码的性能和生产力。您最终将学习 Rust 中的并行编程,它通过使用多线程和异步编程实现高效和更快的执行。

img

如果您想学习如何使用 Rust 进行后端开发,这里就是您的最佳选择。

Rust 的采用率达到了历史最高水平:越来越多的公司正在尝试和招聘。 如果您对使用 Rust 构建 API 感兴趣,零到生产是您 Rust 之旅的理想起点。 您将边做边学:我们将从头开始,一步一步地构建一个功能齐全的电子邮件通讯后端 API。

您将学习:

1、导航和利用 Rust 的 crates 生态系统 2、构建您的应用程序以使其模块化和可扩展 3、编写测试,从单个单元到成熟的集成测试 4、使用类型系统为您的域建模以强制执行不变量 5、收集日志、跟踪和指标以观察应用程序的状态 6、为您的 Rust 项目设置一个强大的持续集成和持续部署管道

img

WebAssembly 不仅仅是一项革命性的新技术。它正在重塑我们为 Web 及其他领域构建应用程序的方式。在 ActiveX 和 Flash 等技术失败的地方,您现在可以使用您喜欢的任何语言编写代码并编译为 WebAssembly,以便在浏览器、移动设备、嵌入式设备等中运行的快速、类型安全的代码。将 WebAssembly 的便携、高性能模块与 Rust 的安全性和强大功能相结合,是一个完美的开发组合。

了解 WebAssembly 的堆栈机器架构如何工作,安装低级 wasm 工具,并发现编写原始废弃代码的黑暗艺术。在此基础上构建并学习如何通过实现跳棋游戏的逻辑从 Rust 编译 WebAssembly 模块。在 Rust 中创建 wasm 模块,以多种引人注目的方式与 JavaScript 进行互操作。将您的新技能应用于非网络主机的世界,并创建从在 Raspberry Pi 上运行的控制照明系统的应用程序到功能齐全的在线多人游戏引擎,开发人员可以上传他们自己的竞技场绑定 WebAssembly 战斗模块.

立即开始使用 WebAssembly,并改变您对 Web 的看法。

img

从基本的编程模式到深入了解该语言,Step Ahead with Rust 旨在帮助您从编写程序到使用 Rust 构建软件。本书将向您展示 Rust 语言最重要的特性,包括货物、类型系统、迭代器等。读完本书,您应该会熟悉更多内容,并准备好处理其余的高级主题。

在您阅读本书的过程中,我们建议您花时间尝试一下书页中所呈现的内容。这本书都是关于 Rust 的实际应用,所以在实践中应用它是值得期待的。本书涵盖:货物、Rust 类型系统、迭代器、宏、所有权、借用和生命周期、不安全模式、并发。A Step Ahead with Rust 读者应该是一位经验丰富的开发人员,希望提高他们的 Rust 开发技能。

img

了解 Rust 编程语言的最新特性、有用的库和框架的实用指南,将帮助您设计和开发有趣的项目

学习:

1、访问 TOML、JSON 和 XML 文件以及 SQLite、PostgreSQL 和 Redis 数据库 2、使用 JSON 有效负载开发 RESTful Web 服务 3、使用 HTML 模板和 JavaScript 创建 Web 应用程序,使用 WebAssembly 创建前端 Web 应用程序或 Web 游戏 4、构建桌面 2D 游戏 5、为编程语言开发解释器和编译器 6、创建机器语言模拟器 7、使用可加载模块扩展 Linux 内核

img

本书首先介绍了 Rust 数据结构和算法,同时还涵盖了基本的语言结构。您将学习如何使用链表、数组、堆栈和队列来存储数据。您还将学习如何实现排序和搜索算法。您将学习如何通过将算法实现为字符串数据类型并在算法设计中实现哈希结构来获得高性能。本书将研究算法分析,包括蛮力算法、贪婪算法、分而治之算法、动态规划和回溯。

读完本书,您将学习如何构建易于理解、调试和在不同应用程序中使用的组件。

小结

一门编程语言的开发追求的是快速、安全性、易于编写三个方面,但大多数的编程语言的现状只满足两个方面,安全性和简单的编程语言往往编译速度很慢,比如Python;编译快又满足安全性的却又很难学,比方说C与C++。那么有没有一门语言同时满足快速、安全、简单三个方面呢?

Rust语言一直在致力于快速、安全、简单三方面的追求,虽然谷歌的Go语言近些月以来都被炒得很热,但Rust语言可以说也是新晋黑马的一员。

本文内容节选自Github:【最安全的编程语言】Rust工程师枕边资料,大牛文章,开源框架,官方文档,视频,推荐书籍,学习干货,大牛语录,还有更多Rust学习内容等你去探索。

全部评论
暂无数据
wenchao1024
这家伙很懒,什么都没留下
  • 积分
    320
  • 话题
    25
  • 评论
    5
  • 注册排名
    6367