To some extent it depends on what kind of project your 12-year old wants to take on.
The other most important thing is to find courses that are engaging. And ideally free! I found the courses at khanacademy.org fit both of those criteria and are pretty suitable for a 12-year old in my view.
Don't just assume that your 12 year old want to learn programming. What you want for the child may not be what the child want for himself or herself. First find out what the child has interest in.
If your child has interest in computer, that's only when you should considering programming. For which of the language the child should, is up to you or the child to decide. There are are so many wonderful programming languages out there like Java, c++, python etc. that has a wide range of application. Learning any of the programming languages in high demand won't be a bad idea for a 12 year old
Let him learn how to hard code Java with Object-Oriented-Programming. Dont let him use the tools netbeans, java eclipse or the tools which makes program a lot more easier.
Use Textpad or JGrasp tool. Try to teach him the hardway, in this way - he may able to appreciate every detail of his mistakes and the bugs, he may able to learn how to code it manually without using any shortcuts like the Eclipse will be giving you.
Python is said to be the best language to start off with because it is actually easier than most others and can do more things.
Do not think that because he or she is 12 years old it will be difficult to learn a programming language, everything with practice and patience is achieved, apart from knowing that he or she wants to learn first, if he or she wants to make an app or want to know how to make a website, I think it depends more on what his or her goal.