深入浅出Rust

范长春

出版时间

2018-08-21

ISBN

9787111606420

评分

★★★★★

标签

编程

书籍介绍

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

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

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

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

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

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

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

AI导读
核心看点
  • 系统讲解Rust基本语法与高级技巧
  • 深度剖析内存安全与生命周期机制
  • 涵盖并发模型及工程实用设施
适合谁读
  • 有C/C++经验的系统编程开发者
  • 希望深入理解Rust底层机制者
  • 具备一定编程基础的进阶读者
读前提醒
  • 非零基础入门书,需有编程基础
  • 部分章节内容较简略,建议结合官方文档
  • 出版较早,注意语法版本差异
读者共识
  • 第二部分内存管理讲解透彻精彩
  • 整体评价褒贬不一,存在虎头蛇尾
  • 适合有一定经验的读者睡前阅读

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "Danger arises from Aliasing + Mutation"
  • "为什么在 Rust 中永远不会出现迭代器失效这样的错误?因为通过“mutation + alias”规则,就可以完全杜绝这样的现象,这个规则是 Rust 内存安全的根,是解决内存安全问题的灵魂。Rust 不是针对各式各样的场景,用 case by case 的方式来解决内存安全问题,而是通过一种统一的机制,高屋建瓴地解决这一类问题,快刀斩乱麻,直击要害。"
  • "Rust 那些炫酷的 move semantics, borrowing, lifetime 之类的概念加在一起,不但让语言变得复杂不堪,我感觉并不能从根本上解决内存管理问题。"
  • "Rust的类型系统实际上是一种代数类型系统( Algebraic data type)。它在数学上是有严格定义的,非常严谨的一套理论。"
  • "对一个函数内部的生命周期进行分析,Rus编译器可以很好地解决。但是,当生命周期跨函数的时候,就需要一种特殊的生命周期标记符号了。"
作者简介
范长春,中国科学院自动化研究所博士,Rust开源项目贡献者,前微软员工。目前就职于synopsys公司参与源代码静态检查工具coverity软件的开发工作。喜欢研究编译器以及源代码静态检查。在网上撰写了大量关于Rust语言的技术文章,得到了不错的反响。
目录
前言
第一部分 基础知识
第1章 与君初相见 2
1.1 版本和发布策略 2
1.2 安装开发环境 4

显示全部
用户评论
有那么一两部分比较敷衍,其他的不错
比较适合对C++比较熟悉的。Rust还是很强大的,但同时也很复杂,特别是Unsafe部分,需要花点功夫去理解。书如果写的再简洁一点、更有条理一点就更好了。
作为Rust小白,这是我的第一本Rust书.我也不知哪来的勇气,不仅仅讲解Rust语法,而是分析了如何实现,以及为什么要这么用.虽然看的我头昏脑涨,对于书籍本身还是要肯定的..
内容挺全,阅读难度不高。
虽然这本书的出版时间略早,但目前仍然是最好的Rust中文入门书。
共享不可变,可变不共享
感觉是浅入深出
入门第二本推荐
总的来说非常朴实且扎实,从底层了解了 Rust 的设计原理,同时给出了不少最佳实践。美中不足就是过于追求底层,书中很多东西并不能指导如何应用,像 tokio 之类的库的教程以完成任务为导向,可能更容易让人读下去。
下载
收藏