Google recently rewrote the firmware for protected virtual machines in its Android Virtualization Framework using the Rust programming language and wants you to do the same, assuming you deal with firmware.

In a write-up on Thursday, Android engineers Ivan Lozano and Dominik Maier dig into the technical details of replacing legacy C and C++ code with Rust.

“You’ll see how easy it is to boost security with drop-in Rust replacements, and we’ll even demonstrate how the Rust toolchain can handle specialized bare-metal targets,” said Lozano and Maier.

Easy is not a term commonly heard with regard to a programming language known for its steep learning curve.

Nor is it easy to get C and C++ developers to see the world with Rust-tinted lenses. Just last week, one of the maintainers of the Rust for Linux project - created to work Rust code into the C-based Linux kernel - stepped down, citing resistance from Linux kernel developers.

“Here’s the thing, you’re not going to force all of us to learn Rust,” said a Linux kernel contributor during a lively discussion earlier this year at a conference.

  • That seems like a poor attitude imo.

    Why do you believe that forcing something onto everyone around you is justifiable? I mean, if what you’re pushing is half as good as what you’re claiming it to be, wouldn’t you be seeing people lining up to jump on the bandwagon?

    It’s strange how people push tools not based on technical merits and technological traits, but on fads and peer pressure.

    • It is literally being pushed for its technical merits and traits.

      Memory safe code with comparable performance in the kernel seems like an absolute no brainer.

      Also if you watch the video all he’s asking for is consistent interfaces for the file systems. He’s not even trying to get them to use rust. And the guy starts screeching about how he’ll code however he wants.

      Is it wrong to expect a consistent and well documented interface?

      Pretty sure C is actually being pushed against its technical merits here.