I can totally understand the iterating speed due to higher cognitive load of a statically typed language, and non instant compilation.
However I am very surprised about your refactoring experience. For me Rust is at least in a league of its own. In python/js I am terrified that I could break some unknown parts of my code whenever I touch anything. In C++ I fear that I just broke an invariants and made something UB. In all those languages, I expect regressions when I’m refactoring. But in Rust, even for large scale architecture changes if it compiles I’m quite certain that it’s going to be easy to validate and often works the first try. What point points do you enconter that make your experience sub-optimal ?
I can totally understand the iterating speed due to higher cognitive load of a statically typed language, and non instant compilation.
However I am very surprised about your refactoring experience. For me Rust is at least in a league of its own. In python/js I am terrified that I could break some unknown parts of my code whenever I touch anything. In C++ I fear that I just broke an invariants and made something UB. In all those languages, I expect regressions when I’m refactoring. But in Rust, even for large scale architecture changes if it compiles I’m quite certain that it’s going to be easy to validate and often works the first try. What point points do you enconter that make your experience sub-optimal ?