Matt Nunogawa stashed this in LearningToProgram
Holy carp, this blew my mind.
So simple and elegant:
Programming is a way of thinking, not a rote skill. Learning about "for" loops is not learning to program, any more than learning about pencils is learning to draw.
People understand what they can see. If a programmer cannot see what a program is doing, she can't understand it.
I agree, worth reading to the end. Worth re-reading.