How would kids benefit by learning a programming language?

It teaching kids a programming language in grade school becomes the norm, just like learning to read, write and basic mathematics, other than creating their own computer programs, what ways would they benefit from learning a programming language?

Some benefits that I can think of is helping develop independence and self confidence and also giving them an outlet to develop their creativity by being able to have an idea and then create a finished product for that idea.

Feb 10 2013:
The first thing that comes to mind is learning logic. I find it interesting that in school we teach children what to think, but not how. I do not mean to say that we should teach them to think a particular way, but the ability to think logically is never really taught. Syllogistic logic, modal logic, etc The ability to understand deductive logic vs inferential and how to write out truth tables. This will then help them later in life when they listen to sales presentations, or politics, or perhaps a rhetoric speech with wild claims.

It is actually a lot of fun to analyze logical fallacies and learn how often we will entertain a particular belief that is not logically sound.

Feb 11 2013:
General coding teaching is coming. Computers are our slaves, if only we know how to tell them what we want them to do. Knowing how to code will make most any individual more efficient at their job because instead of them producing the workload of one person, now they'll produce the workload of multiple.

Feb 11 2013:
I think it would be advisable for our education system to teach children to code in school. It helps with the brain development, math skills, logic and a great deal of other qualities. Will our education system though make changes to the curriculum to include coding? Will our education system change from telling them how and what to think to HOW to think? I think to stay viable in our world, the US public education system needs a dramatic change in how they teach children.

Feb 10 2013:
I do not agree with Leo below that at school we teach children only what to think, though many people have obviously had this experience or they could not be so convinced of this. It must be true, or have been true, in some classrooms.

I do think that coding provides a good opportunity to introduce some fundamentals of logic, as well as the benefits you mention, Tanis, that Resnick also mentioned in his talk.

One valuable related benefit is the experience in careful, concrete thinking. In many subjects kids learn in school or that adults learn outside of school, it is easy for students to believe they understand something well in the sense of knowing how to apply the content when, in fact, their understanding is only vague or superficial or entirely misconstrued.

In programming, if you only kind of know how to do it, the program will not run. It is a situation that requires working through the details and, if done efficiently, predicting the results both to save time and to learn well from trial and error.