I wish I were more connected to the rest of industry. Most deep embedded (ESP32/stm32 and smaller) is still in C. There’s some Rust going on (Aura Ring for example).
Once you get up to embedded Linux basically any language can be used.
I have a really smart colleague who is interested in Zig but I’m hesitant to make such an investment without (1) the stronger guarantees of Rust and (2) the larger embedded dev community around Rust.
At the end of the day we don’t usually write our own peripheral drivers anymore, so it’s important to have good BSP support for your language. So whatever you use, you usually have to wrap the C. This is even true of using C! The vendors libs are usually pretty bad and need wrapping with safety checks, or to be made so you can run more than one instance, etc.
Once you get up to embedded Linux basically any language can be used.
I have a really smart colleague who is interested in Zig but I’m hesitant to make such an investment without (1) the stronger guarantees of Rust and (2) the larger embedded dev community around Rust.
At the end of the day we don’t usually write our own peripheral drivers anymore, so it’s important to have good BSP support for your language. So whatever you use, you usually have to wrap the C. This is even true of using C! The vendors libs are usually pretty bad and need wrapping with safety checks, or to be made so you can run more than one instance, etc.