Is there a child in a developed country that doesn't interact with a computer in some fashion everyday? Probably not. Yet still, many of these kids have only a vague idea of what makes a computer tick. It also appears that, for the most part, kids don't get into the inner workings of programming until secondary school.

Why is that? If children can learn second and third human languages by their teens, why not programming as well? Here's an excellent development tool that truly is for kids of all ages.

Scratch

Developed at MIT for kids ages 8 and up, Scratch is a new programming language that is very visual in nature. The basic logic statements are shown and the programmer can then drag them into place and type in new variables. I had a program going in about 20 seconds! And if you've ever seen me code, you know that's miraculous.

Okay, so it's only a funny looking dinosaur that takes a few steps, says 'Hello' and then plays a soundfile that says 'Doy-doy-doy'. It entertained me for at least 15 minutes. Doy-doy-doy, hee hee!

Seriously though, take a look at the code. Anyone who can read English can figure out roughly what is going to happen and how to make it happen.

There are a ton of configurable statements you can use to make just about any kind of program you want. Look at the categories - each category has several components that are completely customizable for your needs.

You can also use sounds and images already included in Scratch, or you can record or import your own. The images, or sprites as they call them in Scratch, and sounds are broken down in easy to identify categories. This is great for kids! Or me! Check out these puppies.

Scratch also comes preloaded with a bunch of complete programs, so you can see what's possible with this package. This also introduces the concept of code reuseability to kids since they can take a program that already exists and bend it to their needs or wants.

Check out part of the program for Virtual Dog. Yes! A virtual dog! Your grammar school gum-chewers can now create life!

Scratch also has a pretty extensive online community with even more resources for download and other Scratch programmers willing to lend a hand.

My son, the 7-year old Lego king, has been showing some interest in programming lately. I'm thinking this is the way to go.

What do you think? Have you tried Scratch or other applications for young programmers? I'd really love to hear about it.