I was listening to the Stack Overflow Podcast #34 (59:00 - 1:02:00) and Joel mentioned the difficulty of pointers and recursion. He also mentioned thinking in two levels of abstraction.
He also mentions these concepts in his Peril of JavaSchools article.
.... But when you struggle with pointers, your program produces the line Segmentation Fault and you have no idea what's going on, until you stop and take a deep breath and really try to force your mind to work at two different levels of abstraction simultaneously.
I came across this two years ago well before taking the C++ class at the local university. When I took C++ I thought I understood pointers instantly. I started learning programming with PHP. I read almost the entire manual for PHP 5.1.2 before driving in. I learned how php handles variable references in some massive lookup table. Pointers seemed to me to simply work as a big lookup table that points to physical memory. (Which mixes processor instructions with data and makes those enjoyable buffer overflow exploits so easily possible.) My Computer Architecture class stopped just short of writing working assembly but we did get a 2 hour crash course in it. The classes available are an odd mix of hard theory and practical programming. I have not learned anything below C++ in abstraction and I really didn't learn much about assembly.
However I still can not understand what Joel is talking about with "two levels of abstraction".
I guess I have a number of questions. I don't know if I have a wrong view of pointers. Am I gifted in some bizarre way that I just "get it". Am I hopelessly fooling myself into thinking I actually know something? I've read some of the stuff on Understanding Pointers but it hasn't really pointed to anything I don't think I already understand.
It's driving me nuts. It all stems from me not understanding what Joel is talking about when he mentions "two levels of abstraction". I feel like I'm missing some important critical concept in computer science.
Help me out! What is the "two levels of abstraction" that Joel keeps talking about?