But what we really want is to cut down layers of abstraction, not increase them.
I mean, we only have them because it is strictly necessary. If we could make architectures friendly to programming directly, we would have.
In that sense, high level languages are not a marvelous thing but a burden we have to carry because of the strict requirements of low level ones. The less burdens like those we have, the better.