Pushing things one level up is still a valid control metaphor. You're not a worse programmer because you use a 4th level abstraction instead of a 3rd level.
Or, to put it another way, C programmers aren't "Better" at programming then I am just because they're C programmers and I use C# / Ruby / Others.
(They're better because they're grumpier and they'll hit me with their beards if I don't please them)
The better programmer is aware of the system are multiple abstraction levels and can determine where his/her priorities are and choose the right abstraction. Not everything is a nail, sometimes you should be in assembly, sometimes you should be in javascript. (Sometimes both)
Or, to put it another way, C programmers aren't "Better" at programming then I am just because they're C programmers and I use C# / Ruby / Others.
(They're better because they're grumpier and they'll hit me with their beards if I don't please them)