3 ms·
Yes, we do, in some contexts. Because despite its complexity, slow compile times, lack of a specification or more than one viable implementation and bloated bi
by lieks 3y ago
Yes, we do, in some contexts.
Because despite its complexity, slow compile times, lack of a specification or more than one viable implementation and bloated binary size, people still tout it as a C replacement.
For application programming, Rust is fine, but for embedded and systems programming, nearly any of those on its own can be enough to eliminate Rust as an option, depending on the situation.
Except for complexity, they are all solvable and being worked on, for this very reason. But Rust can never replace C completely, because it's not simple, and there is a sizeable portion of primarily C programmers who are minimalists.
- hoseja 3y agoYou forgot the funniest part, the programming socks.
- bombela 3y agoFor what it's worth, I was able to write Rust for the 8bit AVR microcontroller platform. 256 bytes of RAM and 1024 CPU instructions FLASH. In this comment I describe what I did to remove the bloat: https://news.ycombinator.com/item?id=36394426 https://news.ycombinator.com/item?id=36394426 It's not the default and it took me some searching and reading to get there. I wonder if Cargo could have some vastly different default per target. As everybody said in this thread, defaults matters.
- lieks 3y ago1024 instructions? At that point I'd probably just use assembly. At that size, it would still be manageable. Hmm, maybe that's the fundamental difference in thinking; the people I'm thinking of would reach for the simplest tool that can feasibly handle the job, even if it's somewhat harder to use.
- bombela 3y agoIn those 1024 instructions I was able to fit a decoder for standard 433Mhz remotes control, with learning of remotes (stored in EPROM), a button, a rotary encoder input, and a dozen led outputs through a 16 bit shift register. It also controls a digital potentiometer. Used to adjust a power supply output voltage driving a 20 meter LEDs string. I am sure a pure assembly implementation would have saved some room in the FLASH, but the generated machine code wasn't that bad for what I can tell with my limited experience anyways. And it sure was nice to write it in Rust. Except a codegen bug in the version of Rust at the time ;) That one was painful!