This is a complex topic, but it boils down to how we view programming languages in this culture. Even though there's a proliferation of new languages in latest years, every one of them tries hard to create its own bubble, to distinguish itself and specialize without also focusing on interoperability and embeddability so that it can be easily used from other languages and contexts. More so, we simply aren't yet able to envision a tool that can work well at multiple levels of abstraction, which leaves us endlessly reinventing the same wheels with every new tool, eg. every language reimplements the same cross-platform GUI library.
This is a complex topic, but it boils down to how we view programming languages in this culture. Even though there's a proliferation of new languages in latest years, every one of them tries hard to create its own bubble, to distinguish itself and specialize without also focusing on interoperability and embeddability so that it can be easily used from other languages and contexts. More so, we simply aren't yet able to envision a tool that can work well at multiple levels of abstraction, which leaves us endlessly reinventing the same wheels with every new tool, eg. every language reimplements the same cross-platform GUI library.