One of my friends asked me to help his younger brother become acquainted with programming, so I downloaded several "free" language installers (all for Windows), their documentation (as available) and tutorials, burned them all onto a CD and gave it to him. I advised him to install all of them (Python, Perl, Ruby, Java), and play around for a while to see which one(s) interested him the most.
After a few weeks of playing around, reading the tutorials and such, he decided that Python was the language he felt the most comfortable with, and I then bought him the "Learning Python" O'Reilly book, to help him get more of the nuances of the language. I was also available to help him with any questions he might have had, during this learning phase.
Fast forward a couple of years. Said younger brother has now graduated from high school, is going to college part-time, working on a Computer Science degree, and has a full-time job with a software company in the area. He works mainly in Python and Objective-C (for iPhone and iPod Touch development), but is also learning Java, so he can work with the Android SDK.
Is Python the best language to learn programming with? I can't answer that, but I can say it worked wonders in this instance.