Chapter 10. Rust
There’s talk on the street, it’s there to remind you Doesn’t really matter which side you’re on You’re walking away, and they’re talking behind you They will never forget you ’til somebody new comes along
Eagles, “New Kid in Town”
For a period of my career I stopped caring about new programming languages. It seemed like there was always a new one right around the corner. Most of the time, they were not interesting in the slightest to me. These days a new programming language has to have sufficient advantage over what has come before to be able to capture our attention and be worth the effort to learn, invest in the toolchains, etc.
Around this time, I became aware of both Go and Rust and I put them in the same conceptual space: systems languages that provided roughly a similar speed to C and C++, but also contained language features that made them far safer. As I have always been a Unix nerd, I was drawn to Ken Thompson and Rob Pike’s involvement in Go.1 I was also excited to see some of the Plan 9 ideas gaining some traction. As a consequence, I put in some effort to learn Go and was happy that I did. I did not see the need to also learn Rust because I thought it was just more of the same.
And then I got interested in WebAssembly.
Once I heard that Rust was natively emitting WebAssembly on the backend, I knew I needed to dig in deeper. This is when I learned about the Rust language, its community, tools, and documentation and kind of fell in love. Don’t ...
Get WebAssembly: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.