"For years I've tried my damnedest to get away from C. Too simple, too many details to manage, too old and crufty, too low level. I've had intense and torrid love affairs with Java, C++, and Erlang. I've built things I'm proud of with all of them, and yet each has broken my heart. They've made promises they couldn't keep, created cultures that focus on the wrong things, and made devastating tradeoffs that eventually make you suffer painfully. And I keep crawling back to C."

Fix the hardware in order to simplify the low level and use high level languages to build the stack.

Are you suggesting we build hardware that interprets high-level code directly? Do you realize that this makes CPU design nearly impossibly complex? Even the handful of Java processors and VLIW processors that have been built still execute relatively low-level "bytecode" instructions that are nowhere near abstract language complexity levels.