Previously: Part 1, Part 2, and Part 3.
Programming, it turns out, is hard.
—Eloquent Javascript (and typical)
A few months ago, a girl expressed to me her frustrations about, in particular, the attitude expressed many engineers on her attempts to learn to programming.
“They act like learning programming is hard. They imply that if you haven’t been programming since you were seven, there’s no hope for you,” she explained.
I opined, “If someone can learn to program when they are seven, then it must not be that difficult.”
…
Think of all the things you couldn’t do when you were seven—programming is less difficult than all of those.
Although I think it’s the case that children are (usually) much better at learning new things than adults.
You bring up an interesting point. If I wanted the article to be more complete I would have addressed it. 🙁
What you bring up is true for some new things (like spoken language), but other things (realistic portraiture) simply are out of their reach. Even in the spoken language case, the contrapositive is not tested: we do not test an adult who doesn’t know any language, give them no other choice, and then immerse them in the language.
Many skills simply require emotional maturity that a seven year old doesn’t have. Many skills that are reachable are reducible to the fact that the child has more time to devote to the practice of learning it than an adult. We’re not comparing apples and oranges.
Finally, there are tons of skills where mastery is so far off that an earlier start represents a huge advantage: concert pianists and cellists, physicists and doctors. A skill that doesn’t require emotional maturity and can be first taught to someone well before the age of 7 is chess. Since the 1950’s the distance to grandmaster has been shaved only a matter of a single month (Judit Polgar GM’d at 15 years, 5 months. Bobby Fischer GM’d at 15 years, 6 months). Fischer learned at 6, Polgar somewhere around 4, so chess mastery takes minimum 9 years in the 1950’s and 11 years in the 1990’s—the 10,000 hours thing at work.
Programming is not one of those. There are many specific counter-examples of a programmers who learned as an adult, or young adult who produced “master class works” in software after a short time and learned extremely late relative to someone like me (I learned BASIC at 8, professional programmer for 12 years now). Off the top of my head, I’d point out Jimmy Wales as one such example; Matthew Mullenweg is another. Assuming many engineers learned at 7, how many produced a Wikipedia at 12 or WordPress at the age of 10? And yet I guarantee that all of them had more time to devote to the practice than a MUD-playing currency speculator and a high school student whose passions were photography and jazz.