Rust’s tooling is really admirable.

When I wanted to make the middle light blink on a Micro:Bit V2, all I had to do to get my Rust code to compile was find the correct compile target and install it with a single command.

$ rustup target install thumbv7em-none-eabihf

When I wanted to convert a simple videogame from desktop to WASM, all I had to do to get my Rust code to compile was find the correct compile target and install it with a single command (and add some environment variables for compiling the dependent C library).

$ rustup target add wasm32-unknown-emscripten

I’ve now written code meant to run on ARM laptops, x64 servers, web browsers, and embedded devices using the same programming language, without the frustration of having to manage my memory model manually (say that 10 times as fast) or resort to some variation of JavaScript.