4 ms·
I've used a decent amount of Rust, that's not the case this time. Rust is a game changer. The effect of borrow checker and automatic RAII everywhere is profound
by eggsnbacon1 6y ago
I've used a decent amount of Rust, that's not the case this time. Rust is a game changer. The effect of borrow checker and automatic RAII everywhere is profound. I'm convinced its going to fundamentally change low level language design. Borrowing semantics will be mainstream someday, whether its through Rust or otherwise.
It has all of the safety characteristics of a VM language but its low level with no runtime. Its a direct replacement for C with all the performance and modern design of languages like Java and Go. And it uses LLVM so FFI with other languages that compile to native is simple and zero overhead. You can even do whole program optimization (LTO) on the combined binary, that's huge. Trust me the hype about Rust is real.
Much more real than the hype around Go, which to me just feels like yet another GC language. The hyped AOT compilation is nothing profound. Since the GC forces Go to have a runtime anyways IMO they should have gone all the way and just used JIT. And Go doesn't use existing C compilers so FFI has overhead, can't be optimized together at a bytecode level
- zozbot234 6y agoI think this is a bit overstated, because Rust does not yet address all use cases of a language with tracing GC (such as general graphs, or some specialized concurrent data structures), so something like Go will still be useful in many cases. Though this might change in the future if Rust itself gains better support for "pluggable", local allocators, whicn might subsume tracing GC when needed.
- eggsnbacon1 6y agoIt definitely doesn't. Rust needs a GC for certain use-cases. I've been hoping for a while that somebody will do a port of Shenandoah or ZGC to Rust. It would be a lot of work but give Rust the best of both worlds