Correct, fast, and maintainable C code is a very tall order. Good luck finding ANYONE who can do that consistently for a reasonable paycheck.
Back then, we had no choice. We can do better.
Millions of people have been writing C for games, firmware, computer systems without Internet since the 80s on, and they didn't even get software updates. If your server crashes you get a coredump and you can update anytime you want.
and you pretty much have it. Building higher-level abstractions has historically been a good thing, unless your day job is punching in opcodes.