Conan the (Borrow-Checking) Barbarian

Hello Protocols, Packets, and Programs,

I realize it’s been a while since we’ve asked,

“Conan, what is best in DevOps?”

“To crush your memories,

To see control flows before you,

And to hear the sanitations of their pointer.”

The Conan riff is one of the most fun to return to. My first one was back in episode 137. The second was in episode 149. And now a year and a half later I’ve come up with a third.

The Rust programming language takes a “borrowing” approach to memory safety that focuses on ownership rules for values. It might not feel intuitive at first, but I find its semantics force thoughtful considerations about the use of objects and data structures. I’ve always been a fan of correctness first, so I’m willing to trade up front mental effort for compile-time guarantees.

The Go programming language relies on a garbage collector to achieve memory safety. I’ve done a little bit of Go. The syntax feels different, but some brief exposure to OCaml helped me get a sense of it rather quickly.

The C programming language relies on pure luck. And LLVM’s AddressSanitizer.

The C++ programming language relies on scoped std::pure luck, reference counting, and LLVM’s AddressSanitizer.

p.s. The nod to “Outpost 31” in the news segment is a reference to the movie, The Thing. It’s one of my all time absolute favorite films. I couldn’t pass up a mention of Antarctica without noting it.

Be sure to check out this episode's show notes for links to the articles we covered. And please take a moment to subscribe.