I believe that today learning to program is a life skill. Kids should learn to program for the same reasons we teach them biology, chemistry and algebra. Part of the reason is so that they have career choices as adults, but we also value a basic understanding of these fields even for the kids who don’t grow up to be biologists, doctors, chemists or mathematicians. We teach kids basic science and math, so that they will understand the world they live in.
Software surrounds us from mobile phones to ATMs to music and video players. Understanding programming will help kids understand these new elements in our world, their possibilities and their limits. Also, almost every computer software application today has some advanced feature that requires programming-like skills for operation (Excel macros, Word style sheets, advanced searches on Google). Kids are natural investigators. We need to teach them these skills to help them explore the tools at their fingertips.