Ned Batchelder on Nostr: Tired of this: "learn C so you can understand how a computer really works." So much ...
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.
Published at
2024-01-20 15:36:12Event JSON
{
"id": "8716ed8d5d66a6165de5300dd6f40f75e5188155daa72d8f88673b62a991773a",
"pubkey": "3c1a5dbc82cfc12f65f6bd9e283d71bd4a6f1ca853640666cfd5c856037806b1",
"created_at": 1705764972,
"kind": 1,
"tags": [
[
"proxy",
"https://hachyderm.io/users/nedbat/statuses/111789013210403320",
"activitypub"
]
],
"content": "Tired of this: \"learn C so you can understand how a computer really works.\"\n\nSo much of modern computers is not visible from C (pipelining, virtual memory, branch prediction, cache misses, etc).\n\nI guess what they mean is, \"you learn about pointers and consecutive memory locations\"? How is that helpful for programming in other languages without pointers?\n\nC teaches you an abstraction of computers based on the PDP-11. It's interesting, but it's not essential.",
"sig": "afb09b6974c3ed848b289f85c01132f39a68e13f53f1a91cfd37693438fd27aae793a8d50addf77ba6e274aa175c4115e25e819b9a7100dfc2f3d70ff42180a4"
}