C doesn't necessarily teach you how computers work. But it does teach you how software works. Our modern software empire is built on mountains of C, and deference to C is pervasive throughout higher-level software design. >You may have heard another slogan when talking about C: “C is portable assembler.” If you think about this slogan for a minute, you’ll also find that if it’s true, C cannot be how the computer work…
C at the very least teaches the difference between stack and heap memory, a crucial concept obscured by most higher-level languages.
Go does that too. C teaches manual memory allocation, de-allocation and pointer arithmetic as well.