The article argues that the perception of C as a “low‑level” language has become outdated.
- **Historical context** – In the early 1970s, C on the PDP‑11 was literally close to the metal: each statement mapped to one or two machine instructions, memory was flat, and the execution model was straightforward.
- **Modern hardware** – Today’s CPUs are far more complex (multi‑core, deep pipelines, out‑of‑order execution, vector units, large caches, speculative execution). They are designed to run legacy C code efficiently, but the underlying reality is far removed from the simple model that early C programmers relied on.
- **The illusion** – Modern processors adapt to preserve the old C abstract machine, giving developers the impression that C is still “low‑level.” This illusion hides a mismatch between what C promises (predictable, simple mapping to hardware) and what the hardware actually does.