4 ms·
This seems mostly useful in highly constrained embedded environments (AVR, MSP430, ARM M0, PIC etc.) Unfortunately it seems like none of these "modern" system l
by thom_nic 11y ago
This seems mostly useful in highly constrained embedded environments (AVR, MSP430, ARM M0, PIC etc.) Unfortunately it seems like none of these "modern" system languages (Nim, Rust) seem to be putting too much effort towards embedded platforms :(
- steveklabnik 11y agoRust isn't putting a lot of specific effort into embedded, but we already work on many embedded platforms. As the language matures, I expect that support to grow.
- simias 11y agoEmbedded and especially bare-metal applications really are 2nd class citizens in the rust ecosystem though. You basically can't use cargo (or at least not without a whole bunch of hacks) and many important features for low-level code are still gated and won't be available for 1.0. I think it's a bit of a shame because that's basically the #1 differentiator with languages like Go or Java as far as I'm concerned. But beyond that it's true that the language itself has a lot of potential for embedded applications. The runtime can be made almost as tiny as C's and with libcore you get a much nicer and safer "bare metal" environment than what you'd get in C. And thanks to LLVM you can easily target a whole bunch of architectures.
- steveklabnik 11y ago> You basically can't use cargo (or at least not without a whole bunch of hacks) and many important features for low-level code are still gated and won't be available for 1.0. Yup, both of these things are true. This is what I meant by increased support: we have a long way to go to make it as nice to use, and on a stable release of Rust. But the fundamentals are in place.
- tshepang 11y agoWhy can't one use Cargo for bare-metal applications?
- steveklabnik 11y agoSee all the extra work that had to be done here: https://github.com/Ogeon/rust-on-raspberry-pi https://github.com/Ogeon/rust-on-raspberry-pi
- def- 11y agoYou're right that most Nim users don't do it, but you should be able to use Nim for embedded environments as a replacement for C.: - http://nim-lang.org/nimc.html#nim-for-embedded-systems http://nim-lang.org/nimc.html#nim-for-embedded-systems - https://github.com/sirlantis/pebble-nim https://github.com/sirlantis/pebble-nim
- istvan__ 11y agoAlso useful for reasonable computing going forward. See more details: https://twitter.com/lix/status/589171043010412544 https://twitter.com/lix/status/589171043010412544