People are talking about two language problem, which julia solves, but imo the problem is actually not two (or more) languages, which developers have to use, but fragmented ecosystems. There are dozens of “general purpose” languages, but none of them does everything well, and each language develops entire ecosystem from the ground up, which is enormous effort.
There is MLIR compiler toolchain with the concept of high level dialects for multi-level IR, which is quite practical. Would it be possible/practical to extend this concept to high level languages themselves, such that they stop pretending to be general purpose, and become DSL dialects in an ecosystem, which is shared through MLIR or similar infrastructure? Dialects would interoperate transparently, which means dialect A would be called from dialect B and vice versa, and tooling would be largely re-usable.
For example, for scientific computing you would use ML dialect on top of data flow and storage dialects. For embedded project, you would use system + networking dialects, and so on.
Interoperability would be provided not by enforced standards, but by voluntary conventions. If dialect A provides a public interface for other dialects to use it, it becomes fully integrated into ecosystem. If not, it is still a part of the ecosystem with limited integration. This is different from building domain specific libraries on top of fixed general purpose language syntax.
Would all of these make sense at all?