I don't understand why there should be the need to learn a new language, in order to continue doing the same thing.
I vote just change the plumbing for existing languages and run-times... let me continue to say what to do, using my existing knowledge and code base, and let the platform decide how best to do it.
The same thing is in fact part of problem. What I mean is that in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed. This is precisely why things like metaprogramming
(and declarative expression, generally) is the trend. The only reason functional programming has moved into the mainstream mindset, for example, is due to its declarative nature, explicitly controlable side effects, composability, etc, all paramount to building
reliable concurrent systems that are compositional. Part of me agrees with your vote, but another part can't help but wonder if we don't, in parallel, start from first principles in the (con)current context.