Rust’s compiler guarantees are real, but ecosystem fragmentation, async complexity, and rapid release churn make it a poor default choice for most teams.
Key Takeaways
Async Rust is a persistent source of bugs: blocking the event loop inside async code appears in nearly every large codebase the author has audited.
Rust’s standard library omits crypto and datetime primitives, forcing projects to pull in multiple competing crates (the author counted 5+ crypto libraries in a single small project).
54 Rust releases between 2020-2026 vs. 12 Go releases means regular toolchain, Dockerfile, and dependency churn; abandoned projects can fall dozens of versions behind quickly.
Best fits are narrow: cross-platform shared cores (mobile/WASM/server via a single library), embedded/IoT (especially ESP32-C series with Espressif HAL), system daemons, and genuinely hyperscale infrastructure.
For web services and async backends, Go’s larger stdlib and slower release cadence typically deliver faster iteration at non-hyperscale loads.
Hacker News Comment Review
Commenters challenged the framing: the “don’t use unfamiliar languages” point is generic advice, not a Rust-specific critique, and Rust’s low usage-rank reflects age, not failure.
A recurring objection is that the article never names the project type, making sweeping conclusions feel unearned; async criticism applies mainly to network services, not the language broadly.
Some commenters found the piece self-contradictory: it ends by listing legitimate Rust use cases and promoting the author’s own Rust book, softening the headline’s force.
Notable Comments
@egorelik: notes the article never states the target project type, making the headline misleadingly generic.
@unethical_ban: distills the fair takeaway: skip Rust for small-to-medium async work; use it when you need gigascale performance or cross-platform native libs.