Instead, we should work on improved languages that provide better compromises between performance and convenience. Rust, for example, is a good step in this direction.
As dies get bigger, there's no law of nature saying that CPU power must be concentrated far from memory.
Actually, there is. The main reason why the L1 cache is so small, is that a larger cache would take more cycles to access. The L2 cache is allowed to have a higher latency, so the electrical signals have more time to propagate through a physically larger area.
3D stacked dies alleviate this problem, and the trend goes towards putting several dies side-by-side in a single package (a chip), enabling lower latencies, higher throughput, and less power consumption.
There's natural law that mandates the CPU power to be concentrated.
Unluckily this is not so easy: If you know a way, Yossi Kreinin would be really interested to know:
> http://yosefk.com/blog/the-high-level-cpu-challenge.html
And here is a list of ideas/problems that he identified within "the usual suspects":
I worked in many companies that would consider stuff like Java too "enterprisey".
In 2006 most employers said "There is an abundance of PHP coders, why should I switch to something more expensive?!"
Now they say this about JavaScript.
And devs think "Well, lets learn something to make money with. Since there are some much JavaScript jobs, lets learn it!"
I did so myself and made good money.