Friday, March 08, 2024

Programming Rust

It took me a few months but I finally finished reading the O'Reilly book Programming Rust Second Edition (2e) authored by Blandy, Orendorff, and Tindall.  I see now that there is also a "Revised 2nd Edition" which "Covers Rust 2021 Edition" meaning Rust 1.56 or later.  The edition I read "Covers Rust 1.50" so it is probably not much different.

I started recommending this book even before I finished reading it.  If you could only read one Rust book, this would be it.  Since you can read more than one Rust book, I would start with The Rust Book and then read "Programming Rust" sometime before you pick up Rust for Rustaceans.

The cover subtitle is "Fast, Safe Systems Development" and the book does appear to be written for those already familiar with systems programming.  I was grateful to the authors that some of the more advanced concepts expressed in their example code included diagrams to accompany the in-depth explanations.  This might be the intermediate-level Rust book that you were looking for.

This 700+ page book is big but O'Reilly has published bigger.  The Fourth Edition of O'Reilly's "Java in a Nutshell" was almost one thousand pages.  In a review that I wrote many years ago, I joked that "over the years this 'in a nutshell' book has expanded to fill the size of a coconut".

The physical bulk of "Programming Rust" is such that it can be less comfortable to handle while reading.  For the next edition, my advice to the authors is that they split the book into two volumes when they add content.  I can see that the authors have already arranged the chapters such that the more esoteric material comes later which could work well for a second volume.

My next read might be the recently published PacktPub book Asynchronous Programming in Rust by Carl Fredrik Samson.  The quality of PacktPub books can be hit-or-miss but this looks like a good one.  I am also eagerly anticipating a wave of new Rust books, hopefully including a Third Edition of "Programming Rust", when the 2024 Edition of the Rust programming language is released later this year.