Verdict: Recommended
It’s a little bit difficult for me to separate my opinions on this book from opinions on the Rust language. It was quite interesting, from a C++ developer’s point of view, to get to understand better what a lot of people are talking about, and also to understand more of why some rust-like features are being proposed for C++. Rust is certainly a ‘happening’ language (at least according to various developer polls). One point in favour of the book is that it doesn’t come over as excessively zealous.
About the same time that I started reading this book, I also started listening to the ‘Oxide and Friends’ podcast after that podcast got mentioned on the ADSP podcast (I should perhaps write some reviews on these podcasts). One of the authors, Steve Klabnik, works at Oxide and is an occasional guest. I’m just mentioning this because, for me, that scored a few brownie points since I see Oxide Computer as being an attempt to revive the spirit of Sun Microsystems in a small way, swapping Java for Rust.
Rust, being a new-ish language without too much historical baggage, is quite a bit easier to describe than C++. Having said that, there are complexities due to the language design (specifically the borrow checker) that are rather foreign from a C and C++ perspective. I found the chapter on traits to be hard going, but I suspect that is mainly because I’m not really a meta person.
There’s too much to go into the details of the language. I felt that everything was well explained and with reasonable examples – the language, the standard library, the build system and package manager. More details are available via links, which I didn’t use even though I read the e-book version.
Overall, I was happy that I had learnt what I’d wanted to learn on finishing this book.
Website: https://nostarch.com/rust-programming-language-2nd-edition