Programming Rust: Fast, Safe Systems Development
Jim Blandy, Jason OrendorffWritten by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it.
Topics include:
• How Rust represents values in memory (with diagrams)
• Complete explanations of ownership, moves, borrows, and lifetimes
• Cargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust's public package repository
• High-level features like generic code, closures, collections, and iterators that make Rust productive and flexible
• Concurrency in Rust: threads, mutexes, channels, and atomics, all much safer to use than in C or C++
• Unsafe code, and how to preserve the integrity of ordinary code that uses it
• Extended examples illustrating how pieces of the language fit together
Jim Blandy works on Firefox's web developer tools for Mozilla. He's been a maintainer of GNU Emacs and GNU Guile, as well as GDB, the GNU Debugger. Jim is one of the original designers of the Subversion version control system.
Jason Orendorff hacks C++ for Mozilla, where he is module owner of Firefox's JavaScript engine. He is an active member of the Nashville developer community and an occasional organizer of homegrown tech events.