Alice Ryhl, software engineer on Google's Android Rust team and core maintainer of Tokio, the most widely-used async runtime in Rust, sat down with The Pragmatic Engineer to explain what actually separates Rust from TypeScript, Go, and C++. The core argument: Rust was designed to turn implicit runtime failures into compile errors. That one design decision eliminates entire categories of bugs, including the off-by-one array errors in C++ that routinely become critical security vulnerabilities.
The conversation covers memory safety, ownership, borrowing, unsafe Rust, and Cargo at a technical level worth your time. It also gets into Rust governance: RFCs, feature flags, a six-week release cycle, and how engineers are paid to work on the language full-time. Ryhl's own career is a data point: she became a Tokio maintainer as a college student through forum contributions and documentation work, and Google recruited her directly via email, no application submitted.
Two threads in the full episode deserve close attention. First, Ryhl's position that Rust is a backend reliability play, not a TypeScript replacement, which reframes how to evaluate the language against your current stack. Second, the status of Rust inside the Linux kernel, which is still progressing and has real implications for systems software broadly. Read the transcript for the precise technical distinctions on ownership and borrowing.
[READ ORIGINAL →]