@Hans Quote:
What are Rust's "ground-breaking ideas?" I've heard of Rust in passing, but have no idea what it's like.
While I don't have any first-hand experience (yet), it allows you to do "fearless parallelism". If your multi-threaded program compiles, it's impossible to have the subtle bugs commonly associated with multi-threaded programs.
So multi-threaded programming goes from being something only highly-paid bearded experts can do, to something that most half-decent programmers can do.
It mainly achieves that through a concept of fine-grained memory 'ownership', which is checked at compile time. This involves some extra syntax,
which on it's own would probably be fine... But Rust also chooses to make the rest of it's syntax quite different (I suspect for no good reason), which might prevent it's wide-spread adoption. (C-style syntax seems like a common requirement for a language becoming popular - with a few exceptions.) (edit: Glancing at Rust again, it's changes to C syntax don't seem too bad, and mostly exist for good reason.)
Rust also has (at least) several different multi-tasking/communication models. Provided as modules, which are all built out of the same basic syntax, so Rust is rather flexible. I get the impression that Rust's "module ecosystem" is still evolving because of this, but they have at least gotten far enough to nail-down the core language/syntax by now. The best is probably yet to come...
Edited by ChrisH on 2018/2/7 7:36:43
Edited by ChrisH on 2018/2/7 7:38:08
Edited by ChrisH on 2018/2/18 17:23:30
Edited by ChrisH on 2018/2/18 17:24:01
Edited by ChrisH on 2018/2/18 17:24:34