You're joking, right? Every language imposes certain assumptions. C is a generic language, and makes certain assumptions about the underlying architecture, about what you want a program to do, and for the sake of functions that are as generic as possible, it has to throw in a certain amount of boilerplate code. On some architectures and for some tasks, an "ideal" assembly-language programmer would beat C, which is why people still write inline assembly even in C programs.
All that aside, [the observations made in this article](https://www2.seas.gwu.edu/~adagroup/sigada-website/lawlis.html) would apply just as much to C now as they did to Ada 30 years ago. So you have a point, but you expressed it far too broadly.