You’ll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code.
You’ll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you’ll go beyond the Rust syntax and see what Rust has to offer in real-world use cases.
Thanks for all of the positive words @AstonJ@Maartz . I’m really delighted that it has finally been released. From the very positive reviews that it’s already received, it’s clear that its project-based approach is beneficial to many learners.
If anyone stumbles across this thread - please feel free to ask me anything
I very like project-based approach. This approach clearly demonstrates to the reader his progress, motivates him to continue studying the topic and, like a favorite TV series, carries away reading from studying the book further.
My question, as a reader, to you, Tim. On the pages of your book, you have implemented several projects. Which one caused you the most difficulty in implementing it, and why?
Good question! It is not a 700 page book covering the entire language. Expect light treatment of macros, async and higher-order programming. I spend a lot of time teaching low-level programming though, because I expect that most readers are least familiar with that.
I think the database-from-scratch example was the most difficult. But only because I re-wrote the chapter multiple times. I originally wanted to provide a much richer database with a full query language, but ultimately pulled back because there was not enough space in the book. One of my drafts for the chapter was 90 pages long,.
From a different perspective, it was somewhat difficult to go back to my earlier examples. I became a much better Rust programmer as I wrote the book. And I kept fighting the urge to re-write what I had already written.
Thank you for so quick answers @timClicks! Hope your solution inspires enthusiastic readers to develop databases using this language (Rust).
A very interesting topic that you touched upon in your book, Tim, is parallel and concurrent programming. What is the fundamental difference between Rust programming in parallel and concurrent development styles? Is there a difference in Rust development?
Have you used these techniques in each projects of the book (were they needed everywhere)?
One of the advantages of Rust is that the techniques you learn for single-threaded programming map perfectly to the multi-threaded case also. You cannot have two scopes with write access to data anywhere in your program, even across thread boundaries.