3 ms·
What you lament is common in parts of Rust as well - especially in web-server code. Also making inroads into embedded.
by the__alchemist 5y ago
What you lament is common in parts of Rust as well - especially in web-server code. Also making inroads into embedded.
- mikepurvis 5y agoSeems like it would be a pretty natural fit in many embedded scenarios— particularly where your entire program is basically just a bunch of threads waiting for things to happen. FreeRTOS is that anyway, except it's longjmping between heap- or statically-allocated stacks, and you have to unblock worker threads by poking them from ISRs. All of this is workable but I could definitely imagine it being more sane with first-class language support for the fundamental cooperative multitasking model that's at work.
- jabl 5y agoAs a minor counterpoint, the recently announced Hubris OS, implemented in Rust, is entirely synchronous. http://cliffle.com/blog/on-hubris-and-humility/ http://cliffle.com/blog/on-hubris-and-humility/ https://oxide.computer/blog/hubris-and-humility https://oxide.computer/blog/hubris-and-humility
- the__alchemist 5y agoI'd love to see where this goes! I don't have an immediate use case since my current projects aren't complex enough to warrant an OS. Would love to have that in the toolkit.
- talideon 5y agoHubris is _very_ different, however. Each task is fully static in terms of its resources allocation, and multitasking is essentially cooperative. Now, I'm willing to be corrected on this, but a lot about it reminds me of TinyOS written with larger systems in mind.
- odiroot 5y agoI already write async Python on embedded for my pet projects. It actually makes a lot of sense -- with events from GPIO etc.