For those of you looking for a "learn to program" environment, you should definitely check out Scratch, from MIT's "Lifelong Kindergarten" group. While Scratch is far from an unrestricted programming setup, it's quite good for putting together graphical and game-type programs. It's amazingly painless to set up and use on both Mac and Windows -- they're working on Linux. It would be my first choice for teaching young kids about programming, even ahead of old standby programs like Adventure Construction Kit and Robot Odyssey from the old days. And its best trick is that once you've got a program working well on your machine, you can upload it to their site and anybody can play it from a Java applet on their web site. Quite a nice touch!
(By the way, in case you recognize the name Robot Odyssey -- it's now been cloned in Java as "Droid Quest", so you can play it on modern hardware. Yay!)