On 11/15/13 1:40 PM, Paul Nathan wrote:
* Linux is not the only platform that matters. I would actually argue that other operating systems, in particular the embedded & RTOS space, are the OS platforms that need to be held up as platforms to be careful to map against. Names of such operating systems include QNX, VxWorks, ThreadX, L4, etc. These systems are designed very carefully to be fault tolerant, deterministic and reliable; failure in design is often literally "not an option" with the software systems that build on them. These are design goals that Rust, in part, shares. Being able to carefully manage memory, tasks, etc, and have strong type safety is something I believe that will be very attractive to the safety critical space (obviously after Rust proves itself).
I agree. Note that the pthreads API was, as far as I'm aware, explicitly designed to be implementable by both M:N and 1:1 scheduling modes. And, indeed, there have been shipping implementations of pthreads on both M:N and 1:1 threading models. So we're essentially just following in POSIX's footsteps here.
* Not only is Linux not the only platform, assuming that *LLVM* is the only platform is a bad idea as well. Designing for only LLVM's capabilities ignores the possibility of a Rust compiler targeting (say) Atmel chips. Making sufficient assumptions about a run-time model that prevents retargeting (of course, retargeting by a funded group of full-time engineers is what I mean, not hackable in a weekend by, say me, a n00b) to a different non-LLVM-supported chip will also be a major problem.
Agreed.
* One of the BIG problems with D uptake is the split library problem referred to before. They could not get a comfortable standard library for a long time, despite some extremely bright and decently famous engineers working on D. My understanding is that it's mostly been solved now (after what, 10 years?). That'd be a disaster for Rust if things split badly at the interface level.
I agree, and I would like to prevent divergence. Divergence of *implementation* is OK and probably inevitable if Rust succeeds; divergence of API for no reason can harm the ecosystem.
Patrick _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
