- people who want something more dead-simple / no-magic go for Go
- people who want the full combo of "max performance" + "performance-wise-free abstraction" + "extra safety" go for Rust
And conservatives stick to C++. Hence D didn't get very popular. I think it's a programmer psychology issue: people just don't like "middle ground languages" they want to clearly be in one extreme and accept its tradeoffs.
(There's Swift as a counter-example currently growing outside of iOS-dev towards ML, but I guess it's more like it being "like Go but with operator overloading and some macro-like infra features that ML people want & need"...)