1. Rust is inherently meant to be memory safe. You can’t accidentally leave a dangling pointer because the way you write your code everything gets implicitly “moved” unless you explicitly state you’re using a reference. Potential memory bugs will not compile which is a pretty strong advantage over c or
c++, but requires you to “rethink” the way you write code. For trading, getting that benefit + the speed of
c++ makes it a contender if you’re starting to build infra from the ground up
Main benefits are memory safety, speed, ease of package adding / formatting via cargo, built in support for result types / failure handling, substantially better async libraries / web socket support
Main downsides of rust are it’s poor OOP support (ie polymorphism and inheritance is doable in rust, but harder), poorer generics/ templating support (this is actively improving), sparser math libraries (ie I don’t know if there’s a good Eigen substitute, over time this has been improving), and in general the lack of industry experience around it. Hiring someone who knows
c++ is infinitely easier than hiring a rust programmer
Can’t speak to the other questions really, but overall if you’re writing infrastructure for trade execution, exchange connectivity it’s for sure got upside relative to
c++, for signal generation you can make it work but it’ll probably require a bit more tuning, and working with the compiler is significantly slower.
Is it worth learning? If it’s learning for the sake of learning , imo no- it’s not going to add much value to your life over
c++; if you’re exploring options for a new project where speed and stability are important, potentially concurrency related? Yes