warming up your workspace

Rust's rewrite wave, why C is being replaced in the places that matter

In 2026 the Rust rewrite wave reached the load-bearing parts of computing: the Linux kernel ships Rust drivers, browsers and databases have Rust cores, and Rust runs in production infrastructure at Microsoft, Google, Amazon, and Cloudflare. Rust also tops developer surveys with an ~82% admiration rating, the most-loved language for years running. That combination, beloved and being put in the most critical code, is unusual and worth understanding.

The motivation is not fashion. It is one specific, measurable problem.

The one idea: most critical-software bugs are memory bugs

For decades the systems world ran on C and C++: fast, close to the metal, and trusting the programmer to manage memory by hand. The trouble is that humans are bad at it. Use-after-free, buffer overflows, dangling pointers, data races, these memory-safety bugs are not exotic. Studies from Microsoft and Google repeatedly found that roughly 70% of serious security vulnerabilities in large C/C++ codebases are memory-safety issues.

That is the number driving the rewrite. If you could eliminate that category of bug, you'd remove most of your security vulnerabilities at a stroke. Rust's entire reason to exist is to make those bugs impossible to compile.

How Rust gets safety without a garbage collector

The usual way to get memory safety is a garbage collector (Java, Go, Python): a runtime that tracks and frees memory for you. But a GC adds overhead and unpredictable pauses, unacceptable in a kernel or a high-frequency trading path. That's why those domains stuck with C.

Rust's breakthrough is getting memory safety at compile time, with no runtime cost. Its borrow checker enforces ownership rules, one owner per value, and "shared XOR mutable" references, that make use-after-free and data races compile errors. The checks happen during compilation and then vanish; the running program is as lean as C. You get C's performance and the safety of a managed language, without choosing between them. That "no GC, no memory bugs" combination is exactly what the critical-infrastructure crowd was waiting for.

Why now, and not five years ago

Rust has been safe for a decade, so why the 2026 wave? Three things matured at once:

  • The ecosystem hit critical mass. Production-grade libraries, Tokio (async), Axum (web), SQLx (databases), mean you can build real systems without reinventing everything.
  • The tooling and ergonomics improved. Compile times for incremental builds dropped dramatically (from ~35s to ~8s on medium projects between 2024 and 2026), and the error messages became genuinely teacherly. The language got approachable, which is what the admiration rating reflects.
  • Policy pressure. Government and industry security guidance began explicitly recommending memory-safe languages for new critical software. The 70% number became a mandate, not just a statistic.

What the rewrite wave is not

Worth being honest, because the hype overshoots:

  • It is not "rewrite everything in Rust." The migration targets new components and the highest-risk existing ones (parsers, network-facing code, kernel drivers). Vast amounts of working C will run for decades. A rewrite is expensive and risky; you do it where the safety payoff is largest.
  • Rust is not always the right tool. For a quick script, Python wins. For a simple network service where a GC pause is fine, Go's simplicity often wins. Rust's borrow checker is a real cost you pay for a real guarantee; it's worth it when the guarantee matters and overkill when it doesn't.
  • Safe Rust isn't all Rust. unsafe blocks exist for the cases that need manual control (hardware, FFI), and bugs can still live there. The win is shrinking the unsafe surface to a small, auditable fraction.

Why this matters even if you never write Rust

The rewrite wave is a signal about where the industry's pain actually is: not in writing code, but in writing correct code that doesn't corrupt memory or ship vulnerabilities. Rust is the current best answer, but the underlying lesson is bigger, that moving the discovery of whole bug classes from runtime to compile time is enormously valuable, which is the same reason typed languages keep gaining ground.

Understanding why Rust is winning, the 70% number, the no-GC safety, the compile-time guarantee, tells you more than any syntax tutorial. And the only way to really feel it is to write Rust until the borrow checker stops fighting you and starts feeling like a safety net. That's the Rust track, built ownership-first because that's the idea everything else hangs on.

Sources