Linus Torvalds talks AI, Rust, & why Linux is the only thing that matters
Rust syntax and type system
- Several C/C++ developers like Rust’s safety but strongly dislike its syntax, especially deeply nested generic types (e.g.,
Result<Either<...>>), which they compare to “ugly” modern C++ template code. - Others argue these types encode valuable information at a glance (errors vs new vs existing objects) and are standard ML-style algebraic data types.
- Debate over “over-typing”:
- One side warns that very strong, highly specific types can make code rigid and painful to evolve.
- The other side argues strict types are desirable in low-level code and that strong typing plus good tooling can safely guide refactoring.
- There is discussion about whether language-level sugar (e.g., union-like
A | B) would help, and about differences between ADTs and union types for exhaustiveness checking.
Rust in the Linux kernel: culture and conflict
- A major Rust-for-Linux maintainer stepped down, citing ongoing “nontechnical nonsense.”
- Multiple comments link this to pushback from long-time C-only kernel developers, including a widely discussed conference exchange where a senior developer framed Rust as a “religion” and Rust bindings as “second-class citizens.”
- Some see that tone as rude, hostile, and discouraging to contributors; others defend it as a blunt but technically grounded warning that C refactoring will not be constrained by Rust bindings.
- There is debate over whether kernel developers should proactively help Rust maintainers (e.g., giving heads-up on API changes) vs. treating breakage as entirely the Rust team’s responsibility.
Memory safety, users, and long-term viability
- Pro-Rust commenters emphasize that most kernel CVEs are memory safety issues and that Rust could significantly reduce such bugs, even if outright panics are now rare.
- Skeptics argue Linux is already very stable for users and that introducing Rust risks fragmenting the developer base or excluding contributors who only know C.
- Some view Rust as essential for attracting a new generation of systems programmers, given the shrinking pool of expert C developers; others claim C is simple enough and that Rust’s complexity may slow development.
Alternatives and “Rust kernels” vs Linux integration
- A recurring argument: instead of fighting over Rust in Linux, proponents could build a new, fully memory-safe kernel in Rust and try to outcompete Linux.
- Counterarguments:
- Re-creating a production-grade Linux alternative is seen by many as a multi-decade, massively expensive effort, unlike the 1990s context in which Linux emerged.
- Improving Linux incrementally with Rust (e.g., for new drivers, embedded kernels, or specific subsystems) yields security benefits today.
- Mentioned alternatives include Zig (once mature) and various Rust-based OS projects, but none currently match Linux’s maturity or adoption.