After decades of neglect kids can finally start learning programming at a tender age in environments made for them not for developing enterprise software, just like my generation had ZX Spectrums and Commodores. First there's Hopscotch, an iPad application that I described some months ago, and that got a really nice upgrade recently. Then there's Codea, which provides a very powerful programming environment on iPad. My eight years old nephew got all enthusiastic about it and now I'm learning Lua programming language because I've promised him we'll make a game involving monsters, cannons, and a lot of shooting. I have also backed ScratchJr project on Kickstarter which should provide yet another programming environment for tablet computers and is made by the authors of Scratch visual programming language.
The newest addition to our family's iPad's collection of programming tools is Tynker, an app that made (visual) programming an essential part of game experience. The app and basic puzzles are free, while more advanced levels are available as in-app purchases. I've bought my daughters Dragon journey puzzle pack and had lot's of fun programming the dragon also myself. Tynker provides a gradual introduction to programming concepts, so it's accessible also to children who don't have programming-literate parents providing guidance. But in comparison to some other applications, Tynker provides the full Scratch-like visual programming environment, so kids learn also advanced concepts like for-loops and if-statements.
There are really no excuses any more. If you have kids, you should expose them to programming. Software is eating the world and I'm sure you don't want left your kids hungry.