As someone who taught himself programming at a young age, perhaps my experiences may be helpful.
My first two "languages" were HTML and qbasic, both of which were learned loosely from books. HTML was "HTML for dummies", and basic from whatever was available at the library at the time. While HTML is not a programming language it was a way for me to type in "cryptic" text and see meaningful output, which as a youngin' was enough to give me the bug.
I say loosely learned from books because with each language I had a project in mind while learning it. I was gifted with a domain and webhost which I was determined to put to use, animated gifs, frames and all. It also provided me with something to brag about to friends, which again was enticing at a young age.
As for basic, I still distinctly remember procrastinating my real homework and studies to write simple programs that I figured would benefit me in the long run. Things like random math problems, vocabulary tests, practice history tests etc.
While this may not be directly related to web dev, it may be useful for those younger folks itching to get into programming. Try to point them in a direction of a problem in their lives that can be automated, simplified or enhanced through the learning of a language. I understand that things are a bit different today but if someone truly wants to learn I think that may be a good road to travel down.