I've been working on a new type of framework that is about making how we develop software match this mental model. Where the higher-level primitives we think in terms of are first-class citizens at the language level.
I think only then is it possible to reason about, and scale, software in a much more productive and effective way.