Rust. I'm a crochety old embedded dev. I've coded in C most of my life. the fear of a buffer overflow or missed pointer math is always nagging in the back of my mind. Rust just makes an entire host of bugs disappear. Yes, it's more verbose and yes it's harder to learn, but in the long run, once you can wirte it, you'll wonder why you ever used any other language. The rust compiler alone, is probably reason enough to switch over. And now that espressif has made rust a first-order feature, I haven't spun up an embedded app in months using C; and it's been fucking awesome! Code just compiles, and it just works and it never fucking crashes. Answer from SatansLeftZelenskyy on reddit.com
🌐
Reddit
reddit.com › r/embedded › rust vs “defensive” c programming?
r/embedded on Reddit: Rust VS “defensive” C programming?
November 27, 2022 -

Hi all,

In the last years there has been an increasing interest towards Rust, where the safety is perhaps the feature that makes it to stand out. This makes it very appealing in the embedded world.

However, C language is still considered the king in the embedded world. Furthermore, due to the long experience we have with it, we have learned how to code “defensively” e.g. by using a subset of it, by avoiding dynamic memory allocation, etc, plus there are a number of guidelines like Misra-C, etc. On top of that, today we also have static analyzers, unit test framework, linters, etc. that help us a lot to write “correct” code.

Given that, it feels like that the gap in safety in actually not that big as it could seem at first glance, but C win hands down in terms of history, number of people who know it, support, legacy systems, etc.

What is your view?

Let’s exclude the option “why don’t learn both”. :)

Top answer
1 of 19
25
I share your view, beside the "I'm a cool kid because I use Rust", I see little advantage. Furthermore, if I was forced to use a new language, why would I choose Rust over ADA? Besides, language advocates never take business contingencies into account. Creating a product isn't a one-shot thing, your code base can easily live decades. And a company usually has lots of products, not just one. If you adopt new languages over time because they're so much better, how are you going to maintain your products? Your best developers will leave, demotivated by such a mess, how are you going to replace them? Can you imagine the job post? "The applicant should be proficient in language A, language B, language C..." An alternative is to have dedicated teams for each language, but your structure costs will increase without additional income to justify them. A manager coming up with such an idea will likely have to look for a new job soon. There are reasons why our technical landscape evolves so slowly, and these are business reasons, not technical ones. Any technical decision HAS to improve the bottom line.
2 of 19
22
Rust. I'm a crochety old embedded dev. I've coded in C most of my life. the fear of a buffer overflow or missed pointer math is always nagging in the back of my mind. Rust just makes an entire host of bugs disappear. Yes, it's more verbose and yes it's harder to learn, but in the long run, once you can wirte it, you'll wonder why you ever used any other language. The rust compiler alone, is probably reason enough to switch over. And now that espressif has made rust a first-order feature, I haven't spun up an embedded app in months using C; and it's been fucking awesome! Code just compiles, and it just works and it never fucking crashes.
🌐
ByteSnap
bytesnap.com › bytesnap design › uncategorized › rust programming language vs c for embedded systems
Rust Programming Language vs C for Embedded Systems
August 30, 2024 - C remains a viable choice for many embedded projects due to its deep roots, predictability, and the availability of skilled developers · ByteSnap uses a combination of safe coding practices, static analysis, and runtime monitoring to ensure ...
🌐
Stack Overflow
stackoverflow.com › beta › discussions › 78239270 › rust-vs-c-c-is-rust-better-than-c-c-or-is-a-skill-issue
Rust vs C/C++: is Rust better than C/C++ or is a "skill issue"? - Stack Overflow
March 28, 2024 - Some ISO WG is trying to compile a list as an on-going problem, but it seems to be a never-ending mission, since the C++ language WG is currently releasing thousands of new poorly-defined behavior at rapid pace, every 3 years. So this language is entirely unsuitable for (embedded) systems due to the complexity and language bugs.
🌐
Quora
quora.com › Are-there-any-downsides-to-using-Rust-instead-of-C-or-C-for-embedded-systems-development
Are there any downsides to using Rust instead of C or C++ for embedded systems development? - Quora
Some embedded systems will be based on tiny processors for which Rust doesn’t have good tools support, and for those, I agree — just use C. But if your embedded system is using ARM, then the situation is likely different.
🌐
wolfSSL
wolfssl.com › rust-vs-c-navigating-language-choices-in-embedded-systems-and-cryptography
Rust vs C: Navigating Language Choices in Embedded Systems and Cryptography - wolfSSL
December 31, 2024 - Introduction In the world of low-level programming, particularly in embedded systems and cryptography, the choice between Rust and C remains a critical decision for development teams. This blog post explores the key differences, strengths, and trade-offs between these two powerful languages. Our R
🌐
Reddit
reddit.com › r/embedded › rust vs c++? which more useful in the next 10 years?
r/embedded on Reddit: Rust vs C++? Which more useful in the next 10 years?
January 25, 2024 -

I'm an embedded SW engineer with abt 10 years of experience in C (RTOS, baremetal).

As an exercise I'd like to extend myself by learning a new language.

I'm curious to know what others think will be more useful in the industry in the next 10 years for embedded development? Or potentially some other language I've missed.
I already have a good knowledge of C++ (although not tonnes of experience).

edit: spelling

🌐
Institute of Technology, Nirma University
technology.nirmauni.ac.in › rust-the-embedded-language-thats-outperforming-c
Rust: The Embedded Language That’s Outperforming C - Institute of Technology
April 15, 2024 - Memory Safety C, despite its widespread use in embedded systems, is notorious for memory-related bugs like buffer overflows, null pointer dereferences, and data races. These issues can lead to system crashes, security vulnerabilities, and even life-threatening situations (think medical devices or automotive control systems). Rust, on the other hand, guarantees memory safety at compile time through its ownership and borrowing system.
🌐
YouTube
youtube.com › watch
Moving from C to Rust for embedded software development - YouTube
Writing production-grade firmware is hard, but maybe we're making it harder than it needs to be.Join me in exploring some of the common pitfalls of embedded ...
Published   February 2, 2024
Find elsewhere
🌐
Espressif Developer
developer.espressif.com › blog › rust-embedded-a-development-power-duo
Rust + Embedded: A Development Power Duo · Developer Portal
April 19, 2023 - If you are used to the most common and modern programming languages like Python, JavaScript, or C# where you do not have to count every processor cycle and every kilobyte used in memory, it is a very brutal change to start with embedded, that can be very discouraging for coming into the embedded world not even for beginners but also experienced web/desktop/mobile developers. That is why it would be very interesting and needed to have a modern programming language in embedded development. ... Rust is a modern and relatively young language with a focus on memory and thread safety that with an intention to produce reliable and secure software.
🌐
Hacker News
news.ycombinator.com › item
Rust for Embedded Systems: Current state, challenges and open problems | Hacker News
March 6, 2024 - Some of the survey responses highlight one of the biggest hurdles to rust adoption I've experienced though: · Rust has an education problem. People dramatically overestimate the correctness of their [C/C++] code and underestimate the potential severity of failures to meet that expectation.
🌐
Quora
quora.com › Which-is-better-for-embedded-systems-C-or-Rust
Which is better for embedded systems: C++ or Rust? - Quora
Answer (1 of 7): Most of the answers are from 2017; I think a better answer than “just use C” is deserved in 2021. Those saying that Rust is only useful for large software projects are just confused (or FUD-ing). Some embedded systems will be based on tiny processors for which Rust doesn’t have ...
🌐
Embedded
embedded.com › home › embedded rust: where are we today?
Embedded Rust: where are we today? - Embedded
July 31, 2024 - First, established teams are not adopting Rust. Teams that have existing products are using either C or C++. The teams that are using C are very interested in moving to C++. C++ adoption makes sense because it’s a modern language that allows teams to leverage the intellectual property they’ve already developed. I’ve also found it’s easier for teams to adopt “C like C++”, which improves the robustness of their code without getting “too crazy” with modern C++ concepts.
🌐
Opensource.com
opensource.com › article › 20 › 1 › c-vs-rust-abstractions
C vs. Rust: Which to choose for programming hardware abstractions | Opensource.com
January 17, 2020 - With Rust, you can use data structures to represent fields, attach them to specific registers, and provide concise and sensible ergonomics while interacting with the hardware. This example uses the most basic facilities provided by Rust; regardless, the added structure alleviates some of the density from the C example above.
🌐
Tweedegolf
tweedegolf.nl › en › blog › 39 › why-rust-is-a-great-fit-for-embedded-software
Why Rust is a great fit for embedded software - Blog - Tweede golf
June 11, 2020 - Rust for embedded? You be the judge! Good questions, if I may say so myself. Compared to C, Rust is a relatively new language, which has its pros and cons. Like C, Rust can target low-level devices.
🌐
Embedded
embedded.com › home › 5 roadblocks to rust adoption in embedded systems
5 roadblocks to Rust adoption in embedded systems - Embedded
June 13, 2023 - Rust is not a trivial language to learn. While it does share common ideas and concepts with many of the languages that came before it, including C, the learning curve is steeper. When a company looks to adopt a new language, they hire engineers who already know the technology or are forced to train their team.
🌐
Kornel
kornel.ski › rust-c-speed
Speed of Rust vs C
Rust can't count on OSes having Rust's standard library built-in, so Rust executables bundle their own standard library (300KB or more). Fortunately, it's a one-time overhead and can be reduced. For embedded development, the standard library can be turned off and Rust will generate "bare" code.
🌐
Cyberskamp
cyberskamp.com › en › blog › rust-vs-c-for-embedded-systems-safety-meets-performance
Rust vs C++ for Embedded Systems
February 9, 2026 - It highlights the advantages of Rust (such as built-in memory and thread safety guarantees) over C++, which relies on optional developer discipline. This way, you can develop safe and efficient systems without unnecessary detours. C++ is the long-standing top dog in the embedded field. For decades, C++ (and its predecessor C) has dominated the programming of embedded systems.
🌐
Hacker News
news.ycombinator.com › item
Should you Rust in embedded yet? | Hacker News
March 4, 2018 - While Rust has much to offer as a programming paradigm in general, the main value is in the borrow-checker (the linked transcript cites 'memory bugs' as the most common class of bugs). Embedded software practitioners long ago abandoned dynamic memory allocation and with it the 'use-after-free' ...
🌐
Reddit
reddit.com › r/embedded › should i start learning embedded in rust instead of c?
r/embedded on Reddit: Should I start learning embedded in Rust instead of C?
May 27, 2025 -

Im a complete newbie to embedded dev. As someone coming from higher level languages like JS, TS, and Java, I found Rust way better to use than C.

Im currently building a chip8 emulator in Rust, and want to build a RISC-V OS in Rust once this is done, so I can understand computer architecture. I was curious if I should keep going in Rust or if I should switch to C so that I can understand how computers treat memory better, and then move to Rust once I get good at low level dev in C.

Also if anyone has some advice, courses or a roadmap for my low level development journey, thatd be appreciated.