CroftSoft / Library / Books


David Wallace Croft

The book reviews are in reverse chronological order.

2024 Mar 08 Fri: Programming Rust (2e)

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.

2023 Jun 12 Mon: Beginning Rust (2e)

Tonight I finished reading "Beginning Rust: Get Started with Rust 2021 Edition (2e)" by Carlo Milanesi. I found some detailed explanations for difficult concepts in this book that I had not come across elsewhere including The Rust Book. I also appreciated that the book teaches the formal terminology for the various language features.

I started reading "Beginning Rust" in parallel with another Rust book for beginners by a different author. Whereas the other book teaches Rust to the reader by guiding them through example applications, this book focuses strictly on the language as demonstrated with code snippets. I think the latter approach permitted the author of "Beginning Rust" to do a better job of putting the topics in prerequisite order.

Before "Beginning Rust", I also finished reading Rust for Rustaceans but I will have to read that one again in a year or two before I can review it properly as it was too advanced for me. I think "Beginning Rust" is a better immediate follow-on to "The Rust Book". I might look at Rust Atomics and Locks by Mara Bos next.

2022 Aug 12 Fri: Rust Podcasts

I have enjoyed listening to the Rust programming language podcast Rustacean Station. I like this podcast because it is not always the same host speaking. Now that I am all caught up with all eighty-eight episodes published to date, I searched for a different Rust podcast to listen to while I wait for the next episode to come out.

Fortunately one of the more recent episodes of Rustacean Station is an interview with the former host of the now defunct podcast New Rustacean with one hundred and three episodes available. I listened to the first episode tonight and it sounds like I am in for a high quality experience. I have also sampled the start of the first of nine episodes of the podcast Rust Game Dev.

2022 Jul 17 Sun: The Rust Programming Language

Tonight I finished reading The Rust Programming Language, informally known as "The Rust Book", by Steve Klabnik and Carol Nichols with contributions from the Rust Community. The print copy published by No Starch Press covers the 2018 Edition of Rust. There is also a free online version which is updated continuously.

I had started reading the Rust book last year and made it three-quarters of the way through. This year I restarted from the beginning so I could refresh on the fundamentals. It helped me understand a couple of Rust game programming books that I was reading simultaneously.

The book is well written with many code examples which are described in detail. The authors ease the readers into the subject but then rapidly advance to more complicated topics in later chapters. I assume that this is because they wanted to cover the entire programming language in just over five hundred pages.

I searched the Web to see if there is a second edition of the book coming out that covers the 2021 Edition of the Rust programming language. Apparently there is not so I might start reading the online version for the updates and to review the material. To help take me to the next level, I ordered from the same publisher Rust for Rustaceans: Idiomatic Programming for Experienced Developers by Jon Gjengset.

2022 Jul 10 Sun: Game Development with Rust & WebAssembly

My New Year's resolution this year was to learn the new Rust programming language. I wrote a Hello, World! program in Rust many years ago and started reading the Rust book last year but now I am really getting into it. You can follow my efforts on my new GitHub account.

My older open source Java code is hosted on Many of my applications are Java game applets. Now that Web browsers no longer support applets, I am exploring WebAssembly which can run both in browsers and in servers.

Today I was able to deploy a game that runs in the browser by following the instructions in the book Game Development with Rust & WebAssembly by Eric Smith. I wrote the code in Rust, compiled it to WebAssembly, and then wrapped it in a thin layer of JavaScript so that it can run in a webpage. You can play the game online at my GameSpawn website.

- Books
- Code
- Courses
- Links
- Media
- Software
- Tutorials
CroftSoft Web