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.

Follow

@nedbat C isn't so much about the computer as it is the OS and API. If you ever have to deal with hardware libraries in any language it helps to know enough C to be able to read and understand the API. If you are happy to never deal with anything but bits in memory then no big deal, but you will never be able to interface with the really cool and specialized sensors my company makes because our API library assume C function calling convention.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.