Future of Rust, 2023 and beyond?
Hey /r/rust. I've been a big Go fan for the past 2 years of so, but more recently have been using Rust for some personal projects over the last month and have been really enjoying it!
I do have some questions about both the language and it's future in the coming years that I was wondering if the community here would have informed answers to.
#1. Popularity & general usage / use cases
When comparing Rust vs. Go the argument is always made that Rust is better used on embedded projects or instances where you need to be particular about memory management. However my understanding is that anything you could want to build in Go you could build in Rust but not vice versa? With this in mind, is there a likelihood that Rust passes a language like Go in general usage statistics in the coming years? With the rapid rise in popularity this wouldn't surprise me, but I'm not sure if the steeper learning curve will hold Rust back from being readily accepted.
#2. Cross compilation
One of the biggest selling points for me when I started to use Go is cross compilation; I develop on a Mac, but run a lot of my code on a Linux EC2 instance (or been doing dev work on a Windows+WSL machine) and Go's cross compilation options (either via the built in tool or via something like gox are braindead easy. Rust's cross compilation however makes me want to drive my head thru my monitor... there are no easy ways to build a binary for Linux, Windows, AND Mac without having to dip my toes into CI services and with that comes an expense that for a hobby dev I'd prefer to not incur. Is there a brighter future for easy cross compilation with Rust?
#3. Compile times
This is less of an issue as usually I don't mind the compile times, however when building on a local machine takes <30 seconds but building on an EC2 instance takes 4+ minutes, I do wonder whether this is an improvement that we can look forward to in the future. I know the compiler is doing a lot of heavy lifting to help prevent errors so I get that I should expect it to take more time than something like Go, but 4 minutes per compile vs the way smaller time with Go means that developing on a remote machine that might not have the same specs as my PC will end up taking much longer.
On the whole I'm very quickly appreciating and enjoying all of the intricacies Rust has to offer and am looking forward to seeing this language and community continue to grow! Error handling, an amazing type system, enums, macros, matching & more are all such amazing features that I wish I could take with me when I need to do work in Go and sorely miss every time I type out "if err != nil" for the hundredth time in the same file. Thanks in advance for the answers, help, and guidance as I continue my Rust journey!