A nice balanced article:
I’ve not delved into Rust yet, but continue to be very pleased using Go in Embedded Linux edge systems and in the cloud – it brings a reliability and productivity I’ve never experienced before. Could Rust do better – perhaps for some applications. If Rust binaries were significantly smaller than Go binaries, that could be a significant advantage when deploying updates over Cat-M cellular networks. However, there is likely a cost (language complexity, build times, difficulty cross compiling, etc). Some of the biggest challenges I’ve experienced on projects include:
- getting the project done and shipped
- scaling the project to multiple developers
- getting the entire team on the same page and all pulling in the same direction
- building a host of dependencies when we need to upgrade to a new version of OE
- pulling in a dependency (like Gnuradio) that has a host of brittle dependencies that are very difficult to cross compile for an Embedded Linux system.
Thus, the simplicity of Go has provided a ton of value thus far.
Like any good craftsman, keep your toolbox full and use the right tool for the job!