4 ms·
Getting back to C++ after Rust is a pain
- nikivi 6y agoThe thing I don't get about Rust package management is that getting CLI tools from cargo means compiling everything from scratch every time. Why can't there be binaries distributed, once compiled, cache it with something like https://cachix.org https://cachix.org Makes consuming things written in Rust a real pain when in Go, a `go get` takes few seconds at most for any tool. I know it takes infrastructure cost to setup binary sharing and Rust foundation wants to invest into other things but still, hope it comes one day. So many CPU cycles wasted doing the exact same build every time.
- mlindner 6y agoYou've reposted this same thing 3 times. Copy pasting it to every thread about Rust is called spamming.
- ncmncm 6y agoI spent time with Rust, and came back to C++. I don't miss Rust. But for two years after, I was leaving off my semicolon statement terminators. That really stuck! I don't miss Rust for two reasons. First, the problems it solves have never been my problems. I don't code memory errors, never have. Second, it is not powerful enough. I expect my type system to do real heavy lifting for me, and Rust's doesn't, enough (although it has got stronger, since). It fell a lot further behind with C++20, and will again with C++23. (If you don't expect as much from your language, Rust is good. It is so much better than Java or Go it's not funny. Those languages should just die.) Death is the natural fate of new languages. It takes a miracle not to die. Java got two. Ada and Pascal got miracles, but died anyway. Probably Go will. And Rust. Rust might survive if it could get its adoption rate up another two or three orders of magnitude, but that would take a lot more than hype. It would take an actually-fast (like 10-100x faster) compiler; there's no reason it couldn't be, it's not a stupid syntax inherited from C, from FORTRAN, with stupid aliasing semantics. And, probably, a looser model of borrow-checker enforcement in debug builds. Maybe skip two layers of IR on debug builds, and go straight to dumb x86 machine code, like Turbo Pascal? There might be other changes that would help retain newbies. But the core Rust people don't seem interested in doing them. A thing that might make it more attractive to engineering organizations would be to get a handle on library dependencies, and figure out how to stay out of the npm rathole. It will end up with namespaces if it doesn't die, so bite the bullet and do them.