Rust in Production at Tweede golf (podcast)
In particular, Matthias was interested in three topics.
Roc
Matthias wanted to know what kind of language Roc is and why we are using Rust to develop it.
"So Roc can actually compile and link and then run Hello World faster than Python can print it."
Jump right into our discussion of Rust in Roc at 3:56 min;
ntpd-rs
We also talked about what the Network Time Protocol is, at 25:48 min, and we dove into why Rust was a good choice for a modern implementationof it, at 39:18 min (and not just a rewrite).
"Rust is an obvious choice. We can guarantee that there are no memory safety problems. We get good performance. We use Tokio and Async to sort of handle all of that for us. So we don't need to do our own threading in the application at all. And of course Rust has amazing tooling in terms of testing, fuzzing."
This evaluation also touched on the more general benefits of Rust.
"I think the Rust compiler just gives us so much baseline security that we have less to worry about because out-of-bounds access will at least panic, right? It won't silently continue to run. It will actually sort of fail loudly. But then also, I think Rust has all of these other benefits; it is a modern language, it has good documentation, it has a good beginner experience, so we can onboard new people onto the project easily."
Critical infrastructure risks
Toward the end of the podcast, we discussed the real issue of legacy software in critical infrastructure being invisible as well as a potential risk, at 1:04:57.
"A lot of these vital sectors - critical domains, like energy, shipping, any form of transport - have a lot of this very dated software on very dated hardware. That is a major issue, a major risk."
The full episode
The full episode is an hour and twelve minutes (1h12m) of Rusty goodness, so there are far more details to dive into. Enjoy!
Thinking of using Rust in production?
Get help from the experts!
- reduce first-project risk
- interop with existing code
- train your team on the job