For almost five decades, we’ve built core systems software in unsafe languages like C or C++. Four of these decades can be excused as no alternative existed that matched these languages in performance and control. In the last decade, however, Rust, a programming language sponsored by Mozilla Research, has emerged. Rust promises to deliver equivalent or better performance and greater productivity with guaranteed memory safety and data race freedom while allowing complete and direct control over memory.
How does Rust guarantee memory safety without a garbage collector? How does it guarantee data race freedom at all? And, how does it do all of these things while being a comfortable language to work in and write low-level software? This talk answers these questions and more. It also provides concrete, real-world examples that leverage Rust to take these promises further. These examples include Rocket, a web framework for Rust that prevents correctness and web security bugs at compile-time. All together, this talk makes a case for oxidizing software.