| > Yes, except imagine the distance in correctness between Assembly and C, and triple it. * laugh track deafening * > The sentiment of "if it compiles it probably works" for languages like Rust and Haskell is there for a good reason. It could compile and still have 10,000 logic errors. Rust is not a major advance over C/C++, only an incremental and quite limited one, which will require decades of rewriting perfectly good code to gain its dubious benefits, in the process introducing numerous other errors. But don't take my word for it, I'm just the guy who--as usual--is aware right now of facts the rest of you will slowly figure out over the next 20-30 years, after the hype has worn off and you're left with the sad mess that is Rust. |
No shallow dismissals please, tell me why you think I'm wrong.
> Rust is not a major advance over C/C++
Rust adds the borrow checker (and especially with non-linear lifetimes it's an implementation like the world has never seen before, not even in Cyclone). That alone raises it leaps above both C and C++.
But even without it, it still has a Hindley Milner type system (which most people considered superior to multiple inheritance), it has Sync/Send traits, the concept of UnwindSafe, proper destructive moves and affineish types, proper sum types and matching, sane iterators, lack of UB on uninit/overflow/etc, a sane module system, hygienic macros, and that's just the things I was able to pull of the top of my head right now.
Not to mention, the design of its stdlib is absolutely lovely compared to what C++'s stdlib has become, and it focuses on correctness much more than most other popular languages.