I highly encourage everyone to watch Steve Klabnik's video on how Rust Views Tradeoffs [1]
Rust has these core values that they refuse to compromise on in this order of precedence:
- Memory Safety
- Speed (compiled binary execution speed, not compile time)
- Productivity
And because of these core values, other aspects emerge such as the long compile time as they value memory safety as the language's highest core value and are accepting the tradeoff of long compile times.
The talk goes on to say, we should ourselves reflect and ask what our core values are that we can't compromise on? What are the secondary values and so on... And then find the language/tool that lines up with our values.
I really can't emphasize enough to go watch the talk.