Re:What every programmer should know about memory
by scott_s on Tuesday July 13, 2010 @05:46PM
(#1512884)
I maintain that to work well at abstraction level N, you need a good conceptual understanding of abstraction level N - 1. All abstractions leak, and you need to be able to handle it.
[ Parent
| on HN ]
Re:What every programmer should know about memory
by philwelch on Wednesday July 14, 2010 @09:02AM
(#1514422)
To work really well, it also helps to understand level N+1 or N-2, respectively--either by implementing a higher level abstraction in a lower level environment, or by working on two levels at once (and thus needing to understand the level below the lower level).
For instance, you might be stuck with using C or Java and thus have to reinvent higher level abstractions through clever use of function pointers or design patterns or something--hence thinking at N+1, implementing at N, and being mindful of N-1 as you implement. Or you may be writing in Python but optimizing code bottlenecks in C, hence when writing Python (N) you have to understand the C (N-1), and when writing C (N-1) you have to understand the assembly (N-2).
Re:What every programmer should know about memory
by vecter on Tuesday July 13, 2010 @07:02PM
(#1513030)
So by induction, you need to learn N - 2, N - 3, ..., 2, ... 1? I wholeheartedly disagree. By that logic, why stop at transistors? Let's get down to the physics of how transistors work, or hey, atomic physics.
Re:What every programmer should know about memory
by Groxx on Tuesday July 13, 2010 @07:06PM
(#1513042)
Ehhh... only partially. If you need to work well at level N-1, then yes, the inductive proof works. They only mentioned knowledge about a level lower than you're working at, though.
Re:What every programmer should know about memory
by vecter on Wednesday July 14, 2010 @11:04AM
(#1514768)
My bad, I read it wrong.