学 Rust 最好的图书之一,原版豆瓣 9.7分“封神之作”

2023-11-02

1

“瓜王”争霸赛总冠军

开发者版图同步飞涨

Rust 大概是世界上“瓜”最多的编程语言了。最近的一个“瓜”来自微软,用 Rust 重写 Windows 内核。

4e158426c21f8e5c38ac68dc2fba8775.png

一边是不断有大厂使用 Rust 重构某个版块的老旧代码。

一边是 Rust 内部传出各种治理问题。

纵使有那么一丢丢担心,但内部治理的“瓜”似乎并没有阻挡读者入坑 Rust 的热情。

君不见编程语言排行榜 TOP 10 虽然向来看不到 Rust 的身影,但 Rust 生态很热闹,大会、图书、课程都比大部分编程语言的相关项目更受欢迎。

君不见 Rust 基金会发布的《2022年度 Rust 调查报告结果》(“2022 Annual Rust Survey Results”)中提到:

超过 90% 的受访者表示自己是 Rust 用户,29.7% 的受访者表示自己在工作中的大部分编码使用 Rust。

尽管这个调查被嘲笑为“在 Rust 开发者群里做 Rust 调查”。

没有人会怀疑:Rust 的流行度越来越高了,Rust 的版图在快速扩大。

因为内存安全、性能、速度等众所周知的原因,Rust 一直是近年来最受开发者关注的编程语言(有没有“之一”,可能还有点争议),也是开发者最想学习的编程语言之一,同时也被誉为潜力最大的编程语言。

2

学习曲线陡峭

“陡峭” 在哪里

但与此同时,因为“学习曲线陡峭”,很多开发者一直在入门的边缘徘徊——但从不试探,没有迈出学习的第一步。

“学习曲线陡峭”具体体现在哪些知识点上呢?(由 Claude 提供)

1. 所有权

Rust 具有独特的所有权系统来管理内存,这对许多程序员来说需要适应。理解移动(move)、借用(borrow)、生存期(lifetime)等概念具有一定难度。

  1. 并发内存模型

Rust 的内存模型严格区分可变状态和不可变状态,这需要采用新的编程范式。

  1. 语法丰富

Rust 作为一种系统编程语言,拥有许多独特语法,如 特型(trait)、泛型、枚举、模式匹配等,这些都增加了学习难度。

  1. 类型系统

Rust 拥有非常严格的静态类型系统,这要求编写代码时需要细致设计类型。

  1. 编译时错误处理

Rust 编译时的错误信息详尽但难以解析,这给新手带来困难。

6. 抽象程度高

Rust 提供很多抽象表达能力,这需要较强的理解能力。

7. 生态系统快速发展中

相比成熟语言,Rust 的生态系统还在快速成长中。

3

是否“陡峭”不关键

“真的” 学会才重要

其实关于“陡峭”这事儿,很多人有不同看法,不少开发者表示,Rust 比 C/C++ 简单多了.....

那么,我们接着上面的疑难知识点继续说。这些知识点,靠获取免费资料很难一次性解决,也很难又快又好地解决——那么,当免费资料很难解决你的问题的时候,请记住,你应该第一个寻求帮助的、同时又快又好又便宜的付费资料始终是图书——并且在绝大多数情况下,总有图书会让你满意。

所以,如果想学习 Rust,但又觉得难度很大,看了几本书总感觉隔靴搔痒——那么,有没有一本书能够帮助大家消化上面提到的这些难题,真正学透 Rust 呢?

还真的有——虽然不敢对所有人打包票,但至少能拍着胸脯说:今天推荐的这本经典之作,确实是无数读者力荐的优秀作品,也是 Rust 领域众所周知的首选参考书(有没有“之一”,还有点争议)。

朋友们,这是哪本书呢?这就是

豆瓣给出 9.7 星评

3b081842433bb96116818c8b4f86d67a.png

Amazon 给出 4.7 星评

97d7426a74b429fcdc3636cd5e777ee4.png

的经典图书 
Programming Rust:
Fast, Safe Systems Development

要知道,这本书的前两位作者是 Mozilla 创始团员,在系统编程领域已经有 20 多年的经验:

d55174480f7607dcf6ccbe9b82fbf6f8.png

升级版中文版书名翻译为:

《Rust程序设计(第2版)》

已经正式出版(且多地已经可以直接下单了,部分地区没有现货也可预订):

30fd90718aef9c90d24d1f9d316f922c.jpeg

4

《Rust程序设计(第2版)》

为什么这么 “香”

大家都说这本书好,那么,具体说来,到底好在哪里?让我们来看看 Amazon和豆瓣读者评论吧(请注意:部分评论为第 1 版的评论截图)。

一、全面、细致、深入

  • 全面:涉及 Rust 语言的所有关键特性,及更多大家关注的主题。

  • 细致:对核心知识点的讲解巨细靡遗,如所有权等。

  • 深入:不止于开发,深入剖析底层原理和设计哲学。

二、图文并茂,讲解透彻

有不少图,而且图绘制得简洁、直击要点,让疑难知识点理解瞬间变轻松。

三、实战性强

跟着书中讲解的思路走,一步步来,你就能掌握 Rust 的核心特性和在工作场景中的用法。代码开源,基于 Rust 2021。学完这本,真的就能上手 Rust。

这三个点,都有很多读者分享过,请查看以下豆瓣截图。

8bcf40e08a66e4c1ff30789b1392ab2d.png

来自英文版豆瓣截图

0b1076ea2d392447d657acfc0ae6f226.png

来自中文版第1版豆瓣截图

必须强调一下:豆瓣读者“今天躺平了没”指出这本书的“啊哈!时刻”非常多——这是异常难能可贵的地方,一本技术书,并不止于技术,几位作者还将自己的深刻、幽默、灵动和对技术的热爱融进了技术讲解中——增添了技术的迷人与可爱——

这样的书谁不爱呢!

以上,看完了国内读者的评价,我们也看看国外读者怎么说的,选几个高赞评论说一下。

第2版 Amazon 评论

1. 强烈推荐

75326a17b07b527994bcf08fd7383ca5.png

2. 填补 The Rust Programming Language 的空白

9803f9f3ca97970406ebfe5e94540a50.png

3. 47 年老码农学了不少新知识

12314d633877dad88abb0c856595790f.png

汇总一下:读者大佬们表示,这本书你可以读了又读,也可以跳着读,即使读过之后,你也可以放到书架上,随时参考,因为通过这本宝藏书,你总能发现更多细节,学到更多知识。

接下来让我们一睹它的大纲目录,有 23 章之多呢!

32e195176afb97e7b21b2cbd3f411668.png

《Rust程序设计(第2版)》大纲

点击可查看大图

PS:“阅读原文可转到图灵社区下PDF看试读

5

中文版二三事

了不起的程序员们

上面讲了这本书好在哪里,大部分取材于英文版,如今中文版已上架,接下来我们也分享一下中文版有哪些工作值得一提。分别从译者、审读专家、推荐专家讲一下。

1. 关于译者雪狼

25 年老码农雪狼(汪志成)在这本书从翻译到出版的过程中,前前后后对稿子修订了 7 遍,虽然每一遍的工作重心有所不同,但每一遍都耗费了巨大的心血。很长一段时间内,雪狼的每一天都是挑灯夜战。这些在雪狼看来是“应尽之事”。但实际上,大家明白,在“应尽之事”上做到100%的完成度何其难,靠的是一份 Geek 内核的支撑。在此,借新书上架之际,向译者雪狼致敬。

861e8dc0ecdb8ba1c6ec9e0efe8f3088.png

当然,我们深深地明白,任何时刻,读者阅读过程中,还是会发现不少疏漏。请放心,即使图书已经出版,图书品质的提升不会中断。在此,借新书上架之际,我们还请广大读者朋友们不吝赐教,继续帮助提升本书的译文质量——大家可以去图灵社区本书页面:
https://www.ituring.com.cn/book/2846
提交关于本书的建议和勘误。

图灵感谢各位读者一直以来的支持和帮助。

2. 关于审读品控

业内有 30 位一线 Rust 开发者与爱好者参与了这本书的公开审读活动:在两周时间内,大家牺牲大量休息时间,在翻译与表达上寻找“不对味的蛛丝马迹”,或与译者单独交流,或在审读群里一起讨论。最终,审读专家的辛勤付出确保了本书的翻译质量更上一层楼——这是非常 Geek 的行为。在此,借新书上架之际,向了不起的诸位审读专家致敬。

fb3dae1a76d3903aa9f94c68defb8f2d.png

3. 关于业内推荐

陈天、唐刚、王旭、张汉东、张炎泼是本书的 KOL 书评专家。这 5 位老师都曾经阅读过《Rust程序设计(第2版)》,他们在 Rust 领域是当之无愧的高手。应图灵的邀请,各位老师提前审阅了第 2 版的书稿,除了提出中肯的建议,他们的核心任务是用尽可能简单的文字表达他们对本书的看法,与更多的读者分享自己的阅读感悟。

在此,借新书上架之际,向站在分享一线的推荐专家致敬。

我们来看看这几位专家怎么评价这本书吧~ 

f0371c34ce1e42c997f4546f4c874654.png

6

新书上市

抄底折扣限量抢

关于中文版的事情也讲得差不多了

目前新书上市

为大家申请了抄底折扣

604 页的书,89.90 抢回家

感受下价格,然后忘掉

其实,最核心的是

学好 Rust 

搞定 Rust 就选 “肥蟹书”

049c164f369c9462471c3d9f13319830.jpeg

图 中 扫 码 抢

PS:绝大部分 Rust 书封上都有螃蟹
也没办法,这本书只能绰号“肥蟹书”

参考资料

https://twitter.com/SithRaider/status/1656708562159276032

https://blog.rust-lang.org/2023/08/07/Rust-Survey-2023-Results.html

https://book.douban.com/subject/35217097/

https://www.amazon.com/dp/1492052590

【阅读原文】可前往图灵社区下载试读 PDF 

点个“在看”

把“肥蟹书”推荐给你的朋友

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学 Rust 最好的图书之一,原版豆瓣 9.7分“封神之作” 的相关文章

随机推荐

  • ROI pooling 和 ROI Align详解

    ROI Align 是在Mask RCNN这篇论文里提出的一种区域特征聚集方式 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配 mis alignment 的问题 实验显示 在检测测任务中将 ROI Pooling 替换为
  • 华为OD机试(Java,JS,Python,C++)-Excel单元格数值统计

    Excel单元格数值统计 时间限制 2s 空间限制 256MB 限定语言 不限 题目描述 Excel工作表中对选定区域的数值进行统计的功能非常实用 仿照Excel的这个功能 请对给定表格中选中区域中的单元格进行求和统计 并输出统计结果 为简
  • innodb事务实现

    事务的特性 ACID 事务的类别 事务实现 redo redoLog buffer 的格式 undo 更新主键 purge group commit 因为上层的binlog和底层的redolog要保持一致 所以 事务控制语句 事务隔离级别
  • C++11标准模板(STL)- 算法(std::rotate)

    定义于头文件
  • logistics回归之sklearn中的LogisticRegressionCV

    一 Logistic回归的认知与应用场景 Logistic回归为概率型非线性回归模型 是研究二分类观察结果与一些影响因素之间关系的 一种多变量分析方法 通常的问题是 研究某些因素条件下某个结果是否发生 比如医学中根据病人的一些症状 来判断它
  • Android-打包AAR步骤以及最为关键的注意事项

    转自 https www jianshu com p f391d0a6691e 简介 最近因为项目的要求 需要把开发的模块打包成aar 供其他项目调用 在搞了一段时间后 发现这里还是有很多需要注意的地方 所以记录一下 帮助大家不要走弯路 首
  • 调试for循环的技巧

    今天用IDEA调试for循环时 断点打在了for的左边 不小心按了F9 跳到下一个断点 意外发现原来可以通过这种方式对for循环的每次循环进行调试 不必自己手动一行行调试才到下一次for循环 这对于一种场景特别适用 假设你需要查看第 5 次
  • 并发编程系列之重入锁VS读写锁

    前言 上节我们介绍了Java中的锁基础篇 也算是对锁有了个基本的认识 对锁底层的一些原理有所掌握 那么今天我们就来看看2个最常见的锁的实例应用 重入锁和读写锁 这是今天旅途最美的两大景点 是不是有点迫不及待了 OK 那就让我们一起开启今天的
  • 电磁式继电器使用注意事项

    电磁继电器的使用 1 触点通断时线圈两端会感应出较大的电动势 如果不加隔离 便很容易通过地电势将干扰引入板上其它电路 导致单片机复位 线圈控制端加光耦隔离 线圈的电源与板子的电源隔离 另外线圈两端要加续流二极管 见后说明 可选常用的1N40
  • 【计算机组成原理】16-定点数与浮点数

    一 定点数的表示方法 1 纯小数 乘以比例因子以满足定点数保存格式 2 纯整数 小数点在后面 二 浮点数的表示方法 计算机处理的很大程度上不是纯小数或纯整数 数据范围很大 定点数难以表达 1 浮点数的表示格式 科学计数法 j S 尾数 r
  • 华为人才在线--华为认证进阶路径

    华为人才在线 华为认证进阶路径网址 网址 https e huawei com cn talent cert roadmap 在这个网址可以学习华为的各类技术方向 能下载到培训教程和实验手册 以及在线学习 如学习路由交换的HCIA点击红色的
  • Numpy数组

    NumPy 最重要的一个特点是其 N 维数组对象 ndarray 它是一系列同类型数据的集合 以 0 下标为开始进行集合中元素的索引 ndarray 对象是用于存放同类型元素的多维数组 ndarray 中的每个元素在内存中都有相同存储大小的
  • 预装载功能探究一:比较/捕获寄存器预装载使能的意义

    以沁恒CH32V307VCT6芯片测试为基准 测试开发板 CH32V307V R1 1V0 以下内容均为解析调用此句代码的意义 TIM OC1PreloadConfig TIM1 TIM OCPreload Enable 第一层 解析底层代
  • 使用 Git Extensions 简单入门 Git

    使用 Git Extensions 简单入门 Git 独立观察员 2015 11 25 前言 关于这个主题 之前我录了段视频教程 在本地看清晰度还可以 但传到优酷上就很不清晰了 即使是后来重制后还是一样不清晰 所以现在想整理成文字版 当然
  • 计算机网络基础学习 --- 第四章--网络层(ipv4概述)

    1 网络层 1 1 网络层概述 1 2 网络层提供的2种服务 1 3 IPV4 1 3 1 IPV4概述 1 3 2 分类编址的IPV4地址 1 3 3 划分子网的IPV4地址 1 3 4 无分类编制的IPV4地址 1 3 5 IPV4地址
  • jvm分析工具简介

    根据开源谷粒商城学习总结的笔记 觉得是个很好用的工具 推荐 因为jdk自带不用单独安装且很好用不像jprofiler还得安装和破解 1 jconsole 安装jdk配置好环境变量 win R输入cmd进入dos命令行 启动应用 想要分析的项
  • Go语言面试题--基础语法(26)

    文章目录 1 下面这段代码能否正常结束 2 下面这段代码输出什么 为什么 3 下面代码是否能编译通过 如果通过 输出什么 1 下面这段代码能否正常结束 func main v int 1 2 3 for i range v v append
  • 安装nvm管理node版本详细步骤

    安装nvm管理node版本详细步骤 首先需要把已经安装的node进行卸载 注 卸载node之前 最好把node的版本记录一下 方便安装nvm之后可以下载你需要的node版本 具体卸载步骤如下 打开电脑的控制面板 gt 点击程序 gt 点击程
  • win7+nfs文件服务器,win7如何挂载nfs服务器

    在linux下面 除了samba 一种在局域网内的不同计算机之间提供文件及打印机等资源的共享服务 服务之外 我们还可以通过nfs服务共享文件 以达到跨本台访问的需求 下面是学习啦小编收集整理的win7如何挂载nfs服务器 希望对大家有帮助
  • 学 Rust 最好的图书之一,原版豆瓣 9.7分“封神之作”

    1 瓜王 争霸赛总冠军 开发者版图同步飞涨 Rust 大概是世界上 瓜 最多的编程语言了 最近的一个 瓜 来自微软 用 Rust 重写 Windows 内核 一边是不断有大厂使用 Rust 重构某个版块的老旧代码 一边是 Rust 内部传出