3 ms·
Rust is interesting but still has some pain points. - Compile times. This, above all else. - As an embedded dev: no_std is still rough around the edges, which
by QuiEgo 2y ago
Rust is interesting but still has some pain points.
- Compile times. This, above all else.
- As an embedded dev: no_std is still rough around the edges, which the original Google blog post captured pretty well. They didn’t talk about PACs - the PAC paradigm also feels needlessly complicated - whoever wrote it really loves their zero-sized types and made it verbose to the point where the solution feels worse than the problem (at least to me) for things like using GPIO lines.
- Rust has a history of shipping serious bugs (see, floating point recently), and you basically have to constantly update your rust version. Not ideal for commercial products, which want stability.
- All of the RTOS options are also young. None of the major existing ones (e.x. FreeRTOS) support Rust natively. You’re not just asking people to learn the language, but start over on libraries and platform as well.
- The community is weird. If you don’t drink the koolaid you will be attacked.
Rust is constantly getting better, and the pain points of C impact real peoples lives in very real ways (security bugs that have led to people truly getting hurt), so Rust feels inevitable, but it’s still early days and pain.
- aw1621107 2y ago> Rust has a history of shipping serious bugs (see, floating point recently) For those of us who may be out of the loop, could you elaborate on these points?
- QuiEgo 2y agohttps://github.com/rust-lang/rust/pull/128271 https://github.com/rust-lang/rust/pull/128271 This one was fun too: https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html Basically, anything that gets a .1 or .2 type release. Also, shout out to the Rust community for maintaining and fixing issues quickly; not trying to pick on them, just trying to show some examples to show Rust is still young and very much a moving target.
- aw1621107 2y agoAh, optimizer bugs are fun. Does make me wonder how their error rates compares to that of the other major compilers. > This one was fun too: https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html To be fair, that affected a bunch of other languages as well so Rust is in (questionably) good company there. I feel the need to keep your Rust install up to date might arguably be more ecosystem-dependent than anything to do with Rust itself. If stuff you're using requires a newer rustc then you don't have much choice but to upgrade, but if you're fine using something older and/or your dependencies keep support for older versions of rustc then you can probably get away with a lot fewer updates.