Python really makes programming fun. I think it would be the perfect language to teach beginners, although I've been programming for decades, in a dozen different languages.
Mainly because Python is interpreted, not compiled, there is an opportunity for immediate feedback, and a level of interactivity that is just not possible with most languages. Entering commands directly into the interpreter console allows for a kind of "conversation" between student and computer that is only possible with an interpreted language. Expressions, function calls, little one-time "experiments", or demonstrations of a particular concept are not just possible, but easy and natural in Python.
Combine Python with the PyGame library, and I think you have a real winning combination for kids of all ages. PyGame gives Python the kind of juicy graphics kids will probably want to play around with once they understand variables and functions.
It's also worth mentioning that in addition to being a really great, easy to learn, yet powerful language, Python is also free, open-source software. Check it out.