We were lead down a collective rabbit hole by rabid VM and JIT enthusiasts. Notice the absence of those extolling the benefits of JIT compilation today. People used to claim that at some point Java would consistently outperform C due to the greater number of optimisations available to a JIT compiler. They've all become silent because it's quite obviously a load of baloney.
The irony is that we had the answer all the time, but nobody wanted to believe it.
Back in the day, languages like Haskell, early C++, early Objective-C and Scheme compiled to C. Compiling to C was great! No need to spend man-centuries building an optimising cross-compiler to compete with GCC (and fail), no need to screw around with GIMPLE.
In 2015, compiling to a mid-level language is back in style. Except we don't call it C, we call it LLVM-IR. If you squint it's the exact same thing we were doing 15+ years ago.
LLVM-based languages that look like Rust and Swift will eventually dominate, because they are universal. You can use Rust for the lowest level embedded programming. You can use Swift for the highest level architecture astronautics.
What is depressing is that we could have built them 15 years ago but we were too busy fannying around with a dead-end technology.