If learning programming then I agree. If learning computer science, then the lower level stuff is usually better for learning concepts. It all depends on your goals.
If anything, the opposite is true. Computer science does not care about pointers, nor do they care about "low level" details, since those are implementation details that are dependent on hardware.
Pointers don't show up in the formulation of computation in many models (lambda calculus models, Turing machine models, stack machine models...).
They are not particularly important conceptually (in fact, the unsafety of general pointers makes it nearly impossible to talk meaningfully about any nearly computing concepts; you need to severely restrict the discussion to pointers used safely in particular patterns, which is very hard to actually do accurately). They are merely the way that hardware generally implements "constant time" array access.
Even then, that's not true -- there is no such thing as constant time access to memory!
The fundamental concept is just maps, which is entirely obscured by the messiness of pointers.
If learning programming then I agree. If learning computer science, then the lower level stuff is usually better for learning concepts. It all depends on your goals.
If anything, the opposite is true. Computer science does not care about pointers, nor do they care about "low level" details, since those are implementation details that are dependent on hardware.
Pointers don't show up in the formulation of computation in many models (lambda calculus models, Turing machine models, stack machine models...).
They are not particularly important conceptually (in fact, the unsafety of general pointers makes it nearly impossible to talk meaningfully about any nearly computing concepts; you need to severely restrict the discussion to pointers used safely in particular patterns, which is very hard to actually do accurately). They are merely the way that hardware generally implements "constant time" array access.
Even then, that's not true -- there is no such thing as constant time access to memory!
The fundamental concept is just maps, which is entirely obscured by the messiness of pointers.
what a great comment by Mr Fenner
Hi Alan,
Exactly, do you advice books or sites or blogs to learn the lower level stuff to better learning concepts?
Thanks