3 ms·
You are right because the current hardware is biased towards sequential computation where threads&locks are the most efficient. This gives rise to situations w
by yvdriess 15y ago
You are right because the current hardware is biased towards sequential computation where threads&locks are the most efficient. This gives rise to situations where a handful of specialists work years on giving you that one lockless queue in the JVM. They would indeed not give you that edge in any higher-level programming model. It does not help the average programmer however.
Our exploration of programming models seems to be stuck in the current processor architecture, which was designed for sequential work with some stuff bolted on to make it run parallel. I could say John Backus' speech is becoming relevant again.
This is not ivory tower dreaming. The GPUs have made insane progress because they weren't tied to any computational model to start with.
In other words, not being able to do some things is often exactly what is needed to go forward. I wouldn't for the world want to introduce shared memory in Erlang, nor would I want pointer arithmetic under Java's GC.