>We should learn from history of systems programming languages. None of them survived without being tied to a specific OS.
How do you define systems programming? If you define it as writing operating systems then your statement is a bit of a tautology. If you define it as anything other than applications programming then I would say there are successful languages not tied to a specific OS, first and foremost Java.
Systems programming is the locus of development which spans boot firmware, operating system kernels, drivers, utilities and high performance middleware (API's to the operating system, numeric libraries/codecs, graphics, and whatever.)
Systems programming languages are characterized by requiring minimal run-time support, or supporting a version of themselves which is that way (e.g. ISO C has the concept of a "freestanding implementation", and there is a way for such a thing to be conforming).
As a rule of thumb, if it has no "freestanding implementation" or equivalent, then it's not a systems language.
I'm not aware that a flavor of Java exists with a toolchain that would let us rewrite U-Boot in Java, while keeping its footprint in the same ballpark. (I.e. the firmware image cannot contain an entire Java platform.)
How do you define systems programming? If you define it as writing operating systems then your statement is a bit of a tautology. If you define it as anything other than applications programming then I would say there are successful languages not tied to a specific OS, first and foremost Java.