3 ms·
I am not a huge Rust fan but the language did bring a few practical and useful innovations, while also keeping a focus on practice. And no, C++ just doesn't ma
by vkazanov 3mo ago
I am not a huge Rust fan but the language did bring a few practical and useful innovations, while also keeping a focus on practice.
And no, C++ just doesn't make the same things easy or clean.
And no, "discipline and appropriate rules" were never enough.
- pjmlp 3mo agoThe practical and useful innovations were invented else, Rust made them mainstream.
- vkazanov 3mo agoYes. The biggest innovation of Rust is bringing some of the good ideas from functional programming to low level programming. I'd also say that partially exposing data flow analysis to a proframmer is new. Rust package management is quite good, and also not by any means an invention. I am still not a fan of all the ugly macro programming systems and verbose syntax in the language.
- cmrdporcupine 3mo agoMacros in Rust are really ergonomically terrible. Zig's approach here is way better. The language I really want is somewhere inbetween those two languages.
- cmrdporcupine 3mo agoThe borrow checker in Rust is frankly novel. Cyclone had something somewhat similar, but not the same. The broader ML-like type system in Rust is not novel, but the integration of the borrow checker -- and its move semantics more broadly -- with it... that form honestly is an innovation. And one I'd have a hard time living without at this point.
- whytevuhuni 3mo agoAnd also one I'd like to see in more languages! Especially a simpler one, closer to C.
- cmrdporcupine 3mo agoCyclone would be the closest to that I guess. RIP.
- vkazanov 3mo agoTrue! the borrow checker is a special thing. This is what i mean when i say "explicit data flow analysis". In a way this is compiler internals exposed to a programmer.