Episode #9

Go vs Rust - Concurrency and Race Conditions

It's hard to put into words what I like about Rust. Easier to show with a quick example about concurrency and borrowing.

Capturing the "Magic of Rust" is not easy. Luckily, I found a simpler way: show how Rust prevents race-conditions and guides us towards a safe, idiomatic solution. We will port a little Go CLI tool to Rust and compare both solutions in terms of safety, error handling, and concurrency patterns.

▶ Run and edit code on Gitpod

Keywords

race-conditions, ownership, mutex, concurrency, rayon, golang, rustlang

Things I mentioned during the show

Errata and improvements

It might come as a surprise to you, but every once in a while even I make a mistake.
This section covers all improvements made to the code since the epsiode went live.
For an exhaustive list of all changes to the original code, go here. Thanks to all contributors!

Meta

  • Color scheme: JetJet Alternate for VSCode

Resources and licenses

Support!

Preparing, recording, and editing an episode takes a substantial amount of time (around 30 hours total). I do all of this next to my fulltime dayjob. If you want to show your appreciation and help me keep the content free for everybody to enjoy, please consider supporting me on Patreon - no matter the amount. ❤️