3 ms·
Honestly, I don't think C is a good match for "how the machine works". If you look at the assembler an optimising compiler produces from C, it can take hours t
by CJefferson 4y ago
Honestly, I don't think C is a good match for "how the machine works".
If you look at the assembler an optimising compiler produces from C, it can take hours to learn how to map the C to the assembler. Also, all the business with "undefined behaviour" (which they will hit soon, and often) isn't how computers work either -- assembler has (very little) undefined behaviour, if you write to a random memory location it is written to (unlike in C where maybe it is, maybe it isn't).
My recommendation would be to teach them whatever is the quickest way to something they enjoy, wether that be Python, Minecraft, Roblox, Javascript for web dev, or C if they (for some reason) really want to start by doing kernel programming or something like that.
You can learn all the "fine details" later, they have a lifetime to do it :)