KRIS SHAMLOO

opinions about Go, Rust, and Swift but each time the word count doubles

2025-03-16

[ one word ]

Go: ez
Rust: robust
Swift: Apple

[ two words ]

Go: comfy tooling
Rust: borrow checker
Swift: nice enums

[ four words ]

Go: small language big impact
Rust: genius, possibly too genius?
Swift: progressive disclosure mostly works

[ eight words ]

Go: Occasional slice footguns, suspiciously productive language all considered.

Rust: Fearless concurrency is not just a catchy slogan.

Swift: The String API should not be this annoying.

[ sixteen words ]

Go: The slices package made generics worth it for me, but I would have been ok without.

Rust: A genuine step change in what a language can offer for safe, correct, and fast programs.

Swift: Two unforced errors: an overly complex type system, SwiftUI syntax/errors via Result Builders is inscrutable.

[ thirty-two words ]

Go: I'll always be a Python guy at heart but for most small programs I reach for Go. Some minor flaws cause an outsized reaction online. Top two missed features: enums and tuples.

Rust: Ultimately Rust's strictness is anathema to my exploratory development style. I've only found joy writing Rust when rewriting programs with known data structures/algorithms. I love running Rust programs but not Rust.

Swift: I am a fan. I really enjoy app and game development in Swift. I question the evolution of the language, Swift 6 in particular feels like another Python 2 to 3 situation.