C is well placed in that sweet spot close to the hardware where the abstractions are good enough to hide the hardware specifics from the programmer and good enough to build more advanced abstractions with sufficient efficiency.
Because it is so close to the lower levels of abstractions, it ended up a compact and concise language, easy to keep in mind. This (among other things) led to C being the quintessential language for some segments of "computer science": maybe not so much directly but as a reference model.
Because it is so close to the lower levels of abstractions, it ended up a compact and concise language, easy to keep in mind. This (among other things) led to C being the quintessential language for some segments of "computer science": maybe not so much directly but as a reference model.