Spinning gears
Spinning gears (source: Brent 2.0 on Flickr)

In this episode of the O’Reilly Programming Podcast, I talk with Jim Blandy and Jason Orendorff, both of Mozilla, where Blandy works on Firefox’s web developer tools and Orendorff is the module owner of Firefox’s JavaScript engine. They are the authors of the new O’Reilly book Progamming Rust.

Discussion points:

  • How Rust helps developers avoid common errors such as dangling pointers and buffer overruns
  • The differences between Rust and C++: “In C++ you get undefined behavior,” Orendorff says.  “Rust avoids having undefined behavior, making it easier to write secure, correct software.”
  • Concurrency in Rust: “With Rust, when you write multi-threaded code, the language itself catches data races at compile time,” Blandy says.  “So, by the time your project compiles, it is free of data races.”
  • Rust’s learning curve: “If you assume you can learn it the same way you learned other languages, you’re going to be disappointed,” Orendorff says. “But once you have the right ideas about Rust in your head, it snaps and it makes sense.”

Other links: