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.
Python eliminates most of the stuff that clutters up languages like C, Javascript, and PHP. Python reduces the language syntax to the minimum required to understand by the concepts involved, in the clearest, simplest form possible, with a minimum of arbitrary punctuation marks used in unfamiliar ways.
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.