Its cross-platform support (not just for using but also for building it) is not there yet, and it is quite huge and unstandardized with only one full implementation. I’d agree the last part will change with age, but given the frequent large changes and feature additions I am afraid it will be harder and harder and it is simply too complex and fast-moving for many low-level applications. It is closer to C++ than C in my eyes. I’d be happy seeing it replace C++ though for its memory safety benefits!
Rust actually doesn’t have a garbage collector! The point of Rust is that memory safety is statically verified at compile time, automatically inserting allocations and frees. The bloat of Rust binaries in my experience comes from excessive code generation such as generics or macros. If you’re aware of that, though, you can avoid the more bloaty bits (such as the string formatting machinery) and compile some quite tiny binaries. For example, I was able to write a simple GameBoy Advance game that only took 2kb of ROM including the assets.
That said, C still very much has its place, but Rust can definitely do embedded.
Ada has been around since 1983 and is objectively superior. Yes I will die on that hill.
It’s too bad programmers are all such egotards they think they can write bugfree programs in C, while whining about how “restrictive” a safe language like Ada is.
C is the sniper you don’t see
And just like in Metal Gear, he dies of old age if you wait a bit.
C is old, ubiquitous and still does not have a good replacement for its low-level cross-platform usecases, so I’ll believe it when I see it 😄
Rust is doing a very decent job of low-level cross platform. C just has a very long history.
Its cross-platform support (not just for using but also for building it) is not there yet, and it is quite huge and unstandardized with only one full implementation. I’d agree the last part will change with age, but given the frequent large changes and feature additions I am afraid it will be harder and harder and it is simply too complex and fast-moving for many low-level applications. It is closer to C++ than C in my eyes. I’d be happy seeing it replace C++ though for its memory safety benefits!
Rust won’t replace c.
The programs are too bloated for many embedded systems where every byte counts because it’s in ROM or loaded jnto IRAM
All that memory safety and garbage collection, for example, comes at a big cost
I don’t think Rust has a garbage collector.
Rust actually doesn’t have a garbage collector! The point of Rust is that memory safety is statically verified at compile time, automatically inserting allocations and frees. The bloat of Rust binaries in my experience comes from excessive code generation such as generics or macros. If you’re aware of that, though, you can avoid the more bloaty bits (such as the string formatting machinery) and compile some quite tiny binaries. For example, I was able to write a simple GameBoy Advance game that only took 2kb of ROM including the assets.
That said, C still very much has its place, but Rust can definitely do embedded.
At the same time, C is the only stable ABI available for Rust.
Ada has been around since 1983 and is objectively superior. Yes I will die on that hill.
It’s too bad programmers are all such egotards they think they can write bugfree programs in C, while whining about how “restrictive” a safe language like Ada is.
C is back at HQ with 2 Stars and enough political capital to serve till they die.