4 ms·
Why is everyone always referring to logic errors when pushing back against Rust? No programming language ever invented (or to be invented) will fix logic errors
by hn_submit 2mo ago
Why is everyone always referring to logic errors when pushing back against Rust? No programming language ever invented (or to be invented) will fix logic errors made by developers.
Logic errors are "out of scope" for Rust or any other programming language.
- Aeolos 2mo agoThe Rust type system helps you catch logic errors at compile time. Same with Haskell or Ocaml.
- rustfreeforme 2mo ago[dead]
- fluffybucktsnek 2mo agoWrong. For starters, a good typing system absolutely helps catching logic errors at compile time.
- rustfreeforme 2mo ago[dead]
- whytevuhuni 2mo agoYes, except imagine the distance in correctness between Assembly and C, and triple it. Less so compared to C++ of course. The sentiment of "if it compiles it probably works" for languages like Rust and Haskell is there for a good reason.
- rustfreeforme 2mo ago[flagged]
- whytevuhuni 2mo ago> * laugh track deafening * 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.
- rustfreeforme 2mo ago[dead]
- fluffybucktsnek 2mo ago> In time you will learn about all of the faults and flaws in Rust, after you've suffered the pain of trying to rewrite the entire universe in it just to fix one single class of problem you are obsessed about--inevitably introducing many new bugs in the process, because that always comes with the territory. Good thing Rust doesn't just fix that one class of problems, but also provides better tooling to fix other classes too. Classes of problems that could be fixed with the other features of Rust mentioned later like the Hind... > Blah blah blah. Most of that is just added runtime complexity that I could add to C if I wanted, but why would I? ...the vast majority of these features don't even run at compile time. Some of them can't even be implemented in C. For starters, show me an example of a Hindley Milner type system implemented for C (how can someone improve a strictly compile time feature, static typing, with a runtime implementation is beyond me). Or proper destructive moves in C or C++. > Ada is the language to emulate, [...] Good thing Rust also takes from Ada. > Again, the actual successor to C/C++ looks nothing like Rust. And that would be...?
- astrange 2mo agoNote: when people say this about Haskell they mean "it has ADTs".