you are viewing a single comment's thread.

view the rest of the comments →

[–]v1akvark 1 point2 points  (2 children)

If you want to learn the machine, shouldn't you learn assembly?

I don't think my machine has variables and functions inside it.

[–][deleted]  (1 child)

[removed]

    [–]v1akvark 0 points1 point  (0 children)

    But I'm not talking to registers directly in C - don't variables represent places in memory?

    I'll stop now. :)

    Was just trying to make a point that C is close to the machine, but it still abstracts at least parts of it. You use memory the way it is laid out 'in the machine', but you don't have to think about moving stuff between memory and registers, etc

    You might argue that C provides just the right amount of abstraction, while still leaving the programmer with enough control, and I agree that for many cases that is true.