Just4U 真正的问题,从来不会被搜索引擎收录

《RUST 程序设计》阅读体会

2026-03-13

故事背景

Rust程序设计中文版本

O’REILLY的《Rust程序设计》实际已经买回来几年了,一直没有系统学习完, 直到要阅读OpenAI Codex CLI源代码,发现Rust并不是一门不学习就能看懂的语言, 所以又翻出来重新学习一翻。

阅读体会

我的评价是,这本书不够好,至少第一版不够好。一部分原因是我只阅读了这一本书, 没有对比其他Rust的书籍,所以所谓不够好的评价, 是跟学习其他语言时的书籍比如《C++ Prime》来对比。 另一部分原因第一版的有些内容已经过时了,不适合2026年再拿来作为初学者的入门书籍, 并且第一版本的语言描述确实有待改进。

举例来说,在P42:

浮点类型

作者介绍了为什么会报错,然而当我真正敲一遍代码运行时,竟然发现没有报错, 因为新版本的rust默认浮点字面量是 f64,所以能正确编译。 这当然不是书本身的问题,只不过2026年,确实不应该再使用这本当作入门书籍。

另一点就是本书的语言描述问题。举例来说在讲到引用,5.2.1小节借用局部变量这章节时提到生命周期的概念, 在这里中文描述:“对与变量x的引用不能比x本身还‘长寿’“这种令人难以忍受的翻译,让我不得不去翻看原书, 尽管原文也提到诸如”outlive”这些词汇,但是直接翻译为长寿总会时刻提醒我在阅读一本译著。

长寿

更别提错误处理中,panic非要强行翻译为’诧异’,倒是挺令我诧异的。

在这点上,本书第二版的中文译本,是要比第一版译本好不少。客观的来说也不全是第二版译者水平问题, 一个是有参考了,知道有哪些坑,另一个是第二本英文原文的语言描述也流畅不少。推荐阅读第二版。

Rust程序设计中文第二版

彩蛋

我看到第二版这个译者汪志成总觉得好面熟,但是又想不起来。 直到有一天,我又撇到了我本科时的热力学教材:

热力学

对于c/c++程序员,学习Rust最大的疑惑可能是无法形成内存排布的概念,不知道定义一个Rust变量, 一个Rust结构体,或者函数在内存中到底是如何排布的,即不像c/c++那样有清晰的概念,大部分入门书籍又不会详细介绍这部分内容, 好在有ChatGPT随时答疑解惑, 教材的意义反而没有以前那么重要了,这也是虽然我觉得第一版不好,但是还在用第一版的原因。


Similar Posts

Comments