You might be right, but I must confess I am skeptical. I think Rust will definitely eat a large chunk of the C pie. But I don't think it can eat all the pie.

Rust to me simply comes across as too much of a C++ like language. For a lot of C programmers I think that is a non-starter.

I am also not entirely convinced that smaller embedded programs need something like Rust. Sure you want more safety than C gives you. But Rust seems like it goes too far in the other direction.

I am not an embedded developer, I just dabble with Arduino so I can only speculate. But I would venture that embedded developers want a langauge that makes it easy to access an manipulate memory easily. The ease of doing that has to be weighed against safety. Programming is not an exact science. There is an art to it, and I would guess that something more akin to how Zig works is a better tradeoff for embedded developers.

For instance I notice that for my small embedded project I can actually get away with writing in assembly code. The programs are small enough.

But if I tried that while doing machine learning it would be horrible. In fact I find assembly kind of nice as the kind of detailed bit manipulation you need for embedded work is so much more natural.

As you scale up, you want more safety features, and more abstraction. I am not sure if a language such as Rust meant for making large web browser engines is really a good fit. I would assume most embedded software is significantly smaller than that.

Written by

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store