Tired of this: "learn C so you can understand how a computer really works."
So much of modern computers is not visible from C (pipelining, virtual memory, branch prediction, cache misses, etc).
I guess what they mean is, "you learn about pointers and consecutive memory locations"? How is that helpful for programming in other languages without pointers?
C teaches you an abstraction of computers based on the PDP-11. It's interesting, but it's not essential.
@peterdrake @nedbat what exactly is C's relation to "modern" hardware?