Paradigms of Rust for the Go Developer
summary
Compares a real Go race-prone example (two concurrent writes to a non‑thread‑safe map) with a direct Rust port that fails to compile, showing why Rust’s ownership and borrowing model prevents that class of bug. Demonstrates concrete tooling and patterns: Go’s goroutines, channels, sync.Mutex and sync.Map, the race detector; Rust’s threads, mpsc channels, Arc + Mutex and clone semantics. Argues run-after-build safety tradeoffs and says using the race detector in CI catches issues that would otherwise wake engineers at 1:00 a.m.
AI-written summary · about
chapters (9)
- 0:00Introduction to Rust and Go
- 1:04Error handling differences
- 2:09Concurrency models compared
- 3:57Data races in Go vs Rust
- 5:00Ownership and borrowing explained
- 8:12Sharing data safely in Rust
- 12:09Key takeaways for Go developers
- 15:01Q&A session begins
- 25:37Summary and closing thoughts
related talks
01h 42mGo Vs Rust Round Table
59mRust for C++ developers - What you need to know to get rolling with crates
45mRust: safe and concurrent. But how does it do it?
01h 22mRust for the C++ Programmer
56mReady for Rust
47mWhat's unique about Rust?
58mRust for The Curious C++ Developers
39mLevel Up Your Concurrency Skills With Rust
