Higher level languages (and libraries) seem to be defining the portable interfaces for a lot of what software needs to do now, which helps but essentially seems to punt the problem at the operating system level.<p>I guess portable interfaces may just end up needing to be defined over non-portable interfaces, and C may end up not being practical for anything that needs to be portable.<p>Higher level languages aren&#x27;t bad, and it would probably be a good thing if a language like Rust became the de-facto for low-level.  My feeling is that C is still the simplest to compile though, which I think is an advantage.