The ironic thing is that despite the emergence of more walled gardens and the decline of general purpose computing, high level tooling has exploded. Look at the amount of new JavaScript frameworks and tooling that come out every year. The areas that are most lacking in innovation are generally all difficult and boring with no quick pay-offs; VHDL/Verilog, cross platform GUI applications, low level code that can run on multiple hardware architectures. These are all important problems to tackle that would drastically improve general purpose computing but nobody's truly interested to work on those problems and make something production ready.

> low level code that can run on multiple hardware architectures

I thought SIMD Everywhere was a pretty interesting project for that, lets you write x86 SSE/AVX code and run it on non-x86 architectures:

https://github.com/simd-everywhere/simde