The Rust programming language offers the same degree of control over memory and performance as C and C++, while also ensuring memory safety. Rust programs are free of dangling pointers, leaks, null pointer references, and buffer overruns. Better yet, Rust enforces almost all of these properties at compile time (with the exception of buffer overruns.)
These safety guarantees make Rust well-suited for security-sensitive applications, but they also make multithreaded programming much less delicate: Rust ensures (again, at compile time) that threads can never share mutable state, even as they pass data structures among themselves by reference. Non-deterministic behavior can occur only at designated synchronization operations, not at every reference to memory.
The price? You have to think a bit more before you write.
This tutorial explains Rust’s novel characteristics, and shows how to put them to work for you. We’ll cover:
©2015, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com