This weekend my eight-year-old daughter built her first program using an iOS app called Hopscotch which uses the Hopscotch programming language (kind of like Scratch). It's not a static or compiled language like C or Java (her dad's background :) ), but, variables (values), events, and control flow logic abound.
She engaged really well, and picked up the visual nature of the framework with ease. Variables and some of the built-in events took some explanation, but it was awesome to watch her rapidly close the loop between logic creation and "running" the app.
She was able to debug issues that arose, and easily dig into adding more and more functionality to her objects.
Best of all, I found her creating on her own a couple of times, without any prompting from me.
"Daddy, come see what I did!"