2 ms·
I tried Rust a couple of times since 2018 or so, but it's just not my thing. I do maintain Rust bindings for my libraries on the side though, so I'm not complet
by flohofwoe 2y ago
I tried Rust a couple of times since 2018 or so, but it's just not my thing. I do maintain Rust bindings for my libraries on the side though, so I'm not completely unaware of Rust's development, but try to follow it from the sidelines watching for interesting new things - unfortunately Rust's development looks like it's fast-tracking C++ of becoming a kitchen-sink language but in much shorter time - and that's on top of the vast 'semantic surface' that Rust needs for being able to build a static memory safety proof. I think this is one area that can't easily be reduced unless the compiler gets a lot smarter (or at least is allowed to peek into called function bodies - which probably wouldn't help the already bad compile times though).
Basically, Rust feels a lot like C++ to me, "just" with static memory safety added on top (and tbf, most historical footguns fixed, but the 'better C' languages did that too).
Both writing (modern) C++ and Rust feels more like type-system puzzle solving than programming, this might be exactly what attracts some people (and would also be very attractive to a more junior me), but personally: when I write or maintain code, the programming language should 'disappear' into the background, and both Rust and C++ don't have that quality, they always want your attention which distracts from the actual problems to solve.
Zig, Odin and even C all have that quality of quietly humming along in the background, you don't think about language features when programming, the code just kinda flows from your brain into the keyboard.
Having said that, I would probably pick Rust for isolated problems and where memory safety is absolutely mission critical (like a sandbox that needs to run untrusted code) - but then use an unsafe language for the code that runs in that sandbox (because what's the point of a sandbox anyway if it can't safely isolate unsafe code).
- nvarsj 2y agoGreat description of the problems of C++/Rust - that puzzle like property attracts a lot of younger engineers and creates a lot of conference talks that hyper focus on the language instead of how it can solve real problems. Scala suffers the same thing in my experience.