Question: My younger brother is looking to start programming. He's 14, and technically-inclined, but no real experience programming. He's looking to me for guidance, and I don't feel as if my experience is enough, so I figured I'd ask here.

He's more interested in web programming, but also has an interest in desktop/mobile/server applications.

What would be a good learning path for him to take? I'm going to buy him a bunch of books for Christmas to get him started; the question is, what should he learn, and in which order?

The way I see it, he needs to learn theory and code. I'd like to start him off with Python or Ruby or PHP. If he wants to get in to web, he's also going to need to learn HTML, CSS, Javascript, etc.

Out of those three domains (Languages, Theory, Markup/Etc.), what is the best order do you think to learn in? Also, am I missing anything?

Thanks!

Answer: 
I would go to school, if college age.
I would take it high school, if high school age.

I'd have a mission and adjust the curriculum accordingly at 14.

many people will down me for this but Visual Basic .NET seems to be easier for some, just saying folks. It appears to be that way for many not in the initiate.
> 
> I'd like to start him off with Python or Ruby or PHP. If he wants to get in to web, he's also going to need to learn HTML, CSS, Javascript, etc.
> 
> 
> 

This seems reasonable. Impart some basic skills and help him flesh out an idea for a challenging, project that he will remain interested in. 

His first experiences don't need to be perfect, in fact it will help if he makes a ton of mistakes early. You just want to ensure that he remains interested in expanding his knowledge. When he hits his limitations, he will be begging for assistance and you can point him in the right direction if he hasn't already branched out to reference material.