# C++ Notes: Pointer Quote

## Spolsky on pointers

"Understanding pointers in C is not a skill, it's an aptitude. In Freshman year CompSci, there are always about 200 kids at the beginning of the semester, all of whom wrote complex adventure games in BASIC for their Atari 800s when they were 4 years old. They are having a good old time learning Pascal in college, until one day their professor introduces pointers, and suddenly, they don't get it. They just don't understand anything any more. 90% of the class goes off and becomes PoliSci majors, then they tell their friends that there weren't enough good looking members of the appropriate sex in their CompSci classes, that's why they switched. For some reason most people seem to be born without the part of the brain that understands pointers. This is an aptitude thing, not a skill thing it requires a complex form of doubly-indirected thinking that some people just can't do."
--Joel Spolsky Read the rest in Joel on Software - The Guerrilla Guide to Interviewing

## But ...

I don't agree with this; understanding pointers is a skill that can be learned. It's easy if you start programming in assembly language since the way pointers work is immediately clear. However, assembly language is rarely taught now, as is appropriate. And C makes pointers a little harder than they need be. What the quote does illustrate is that there is a conceptual step that has to be made when learning pointers; some make it more easily than others. This is aggravated by poor explanations of pointers in some textbooks. 90% dropout is ridiculous. If you're having trouble with pointers, keep with it. Once you get the idea, it will seem quite clear.