Upmodded, of course.
The irony is that this was the thesis that I set out to write about when I started composing my post. And yet I somehow completely lost my train of thought! I guess I had more fun thinking about why, when a soccer star makes $49M a year (which, of course, happens only at the peak of his career), people notice:
http://www.forbes.com/2008/04/30/best-paid-soccer-biz-soccer...
... but when a programmer makes an average of $12M a day over 24 years people can manage to forget about him.
(That's Bill Gates, assigning him $0 when Microsoft was founded in 1975 and $101 billion in 1999 when his wealth peaked, and assuming linear growth -- which is obviously wrong, of course; I was just too lazy to do the exponential assumption. He was obviously making money at a much lower rate at first... and a much higher rate later.)
Meanwhile, the game of soccer -- like all major spectator sports -- has been deliberately designed for... spectators. It is designed to give the scant handful of brilliant outlier talents a stage on which to shine. If soccer became too boring to watch, eventually they would tinker with the rules until it became exciting again -- that is how soccer itself was invented, after all. Hence, soccer makes money because it was designed to be popular. Programming, on the other hand, was designed for various other purposes, ranging from personal pleasure to scientific exploration to actually getting things done.
High school soccer players don't make money, because high-school soccer doesn't consistently produce the highest caliber of play. The world's best fencers, or chess players, don't make much money because their talent is difficult for the average spectator to appreciate. And the world's best dancers and acrobats only make money if they are good at self-promotion, or if they plug themselves into a system that was built to create stars, work really hard, and then get some lucky breaks. (See: Jackie Chan. For whom the term "lucky breaks" is well chosen.)
It might be possible to design a programming sport that showcased the talent of the best programmers at the highest level. (In a sense, that's what YC is trying to do, although a startup is a test of more than just raw programming skill. But, then, team sports are a test of more than just hand-eye coordination...) But it's probably pretty hard to make programming as exciting as soccer. So what? Programming is a different game.