C was always the new assembly. When C was developed, one of the target goals of the C language was to make the assembly language generation straightforward: each statement would translate into a few machine language instructions. Further, C doesn’t require very much run-time language support: aside from setting up the BSS segment and a little code to translate the environment variables and run-time arguments into an array of string before invoking main(), C really requires no run-time language support at all.
Maybe I'm just not old and grumpy enough yet, but I have a hard time seeing why "C is the new assembly" is somehow a bad thing. A carpenter doesn't use a hammer when a saw would work better, and I see no reason for software people to limit themselves to a single tool either.