3 ms·
Thanks for your insights in the matter. I have tried writing a VM with Rust (crafting interpreters) but outside of that I don't have a lot of low level experien
by eklavya 6y ago
Thanks for your insights in the matter. I have tried writing a VM with Rust (crafting interpreters) but outside of that I don't have a lot of low level experience with it. I am also in the minority that believes Scala codebases are simpler than all the Java codebases I have come across. Maybe it's just me :D
I didn't know Zig can provide memory safety using it's features. If that's the case it's great, I need to try it out! Although I am sceptical about the claim that in truly safety-critical domains Rust would not be adopted where Zig would, but I am again out of my depth here, so :)
- pron 6y ago> I didn't know Zig can provide memory safety using it's features. Yes, although this is done through runtime checks (that can be optionally disabled) rather than through static sound guarantees (Rust uses runtime checks in some cases, too). The language's simplicity and fast compilation helps with other types of correctness, too (i.e. beyond memory safety). > Although I am sceptical about the claim that in truly safety-critical domains Rust would not be adopted where Zig would I don't know if Zig would, but Rust has several problems for such domains that C and Zig don't: porting it is a challenge (both Rust itself and LLVM are very complex), understanding what a program does is a challenge (a lot of implicit behaviour), and handling allocation failures is a challenge.
- pjmlp 6y agoHopefully during 2021, LLVM won't be any longer the only option to compile Rust, as the work for integrating cranelift backend into stable keeps going on. Zig also has the same issue with LLVM until the language is fully bootstraped and the original LLVM based compiler no longer part of the build process. However, packaging a C and C++ compiler alongside for the ride doesn't make it that much simpler.
- pron 6y ago> LLVM won't be any longer the only option to compile Rust, as the work for integrating cranelift backend into stable keeps going on. That might not matter. Porting Rust might not be a simple undertaking, either. > Zig also has the same issue with LLVM until the language is fully bootstraped and the original LLVM based compiler no longer part of the build process. Yes, but that's expected to happen before 1.0. > However, packaging a C and C++ compiler alongside for the ride doesn't make it that much simpler. C isn't an issue at all; C++ is. I'm pretty sure it could be made optional.