Comment by skohan
5 years ago
It seems like the current iteration is that modern build systems provide the “write once run anywhere” rather than virtual machines, which have their own compatibility and performance issues.
It’s trivial nowadays to write a program in Go or Rust and deploy it to whatever architecture you want, without any arcane knowledge of the build process
> It’s trivial nowadays to write a program in Go or Rust and deploy it to whatever architecture you want
According to rust docs [1] and go wikipedia page [2] both have mainly support for x86, while go recently added support for macos/arm and in 2019 windows/arm, rust only has tier 1 ("guaranteed to work") support for arm-linux and x86.
Am I misreading this? It does not seem "trivial" to me for arbitrary platforms.
[1] https://doc.rust-lang.org/nightly/rustc/platform-support.htm...
[2] https://en.wikipedia.org/wiki/Go_(programming_language)#Vers...
A significant barrier to getting platforms to Tier 1 support for Rust is actual hardware to run CI on. Tier 1 is an extremely high bar for support.
I do my job at work every day on a Tier 2 ARM target, and in practice, don't notice any difference from the Tier 1 targets. YMMV of course.
Thank you, that helped me put it into perspective!
I'm not sure about Go, but Rust should work on everything LLVM can emit native code for. While ARM may not be listed as "tier 1", Rust worked on M1's on launch day because of LLVM portability.