Hacker News new | ask | show | jobs
by thrawea 5550 days ago
It's a bit hard for me to believe that there are programmers, who dont understand Pointers!

Though I am still in school, I feel everyone should understand how Memory works.

My assumption is that everyone should at least know about:

1. Pointers and their physical meaning

2. Difference between Process specific virtual memory and physical memory

3. Difference between Static, Stack and Heap Memory.

4. Also it is important to understand what happens when a disk access is required, and difference between Random reads and Sequential reads.

5. Bonus if you can understand, how swapfs is utilized and L2,L3 cache work.

2 comments

I believe there is a difference between knowing how memory and pointers work and being proficient at pointer manipulation in C.

If you enforce such kind of interviews in C, you will miss lots of great FP programmers. Maybe you don't care anyway.

I would bet that people who are good at working with pointers in C are drastically over-represented among great functional programmers, so you won't actually lose that many.
It's not really that shocking. Most people don't program in a language with manual memory allocation anymore.

I would guess that people might know 1 when they think about it some, but really don't know anything about the rest.

Even if they don't personally use languages that require this knowledge on a regular basis, the idea that someone could come through a CS education and not know it is pretty stunning.
Not being able to write code that performs memory management doesn't mean you don't know how memory management works. It just means that you trust your GC.

Much more relevant would be to ask questions about what to do if you're spending too much time in GC and how to tune it rather than how you'd perform your own garbage collection.