I believe it depends on how advanced your son is and what it is about programming that interests him. If he is highly analytic and mathematically inclined C could be a good start. Memory management in C is not simple though and pointers can be very confusing. Also, since it is pretty low level he won't be doing much in the way of graphics without learning an API. The good thing is so many languages share syntax with C.
However, if your son wants to learn programming predicated solely on his love of video games for instance, C may be a little too dry so to speak. In that case, I feel Flash is a good learning tool because it lets you very quickly and easily get graphics on the screen doing something. JavaScript/HTML5's canvas are a good choice as well.
If your son is gifted, and I don't mean in the way every parent thinks their child is, I mean truly advanced; I'd highly recommend the text "Structure and Interpretation of Computer Programs". It is the text used for the introductory computer science at MIT and many other colleges. The entire book is available for free online, with sample exercises, answers, etc. And since it is so widely used and well regarded there is quite a bit of help out there. The language this uses is Scheme, a dialect of Lisp. Again, this is if your son is at the level of an honors-student high school senior or college freshman. If he does make it through this book he will have a very firm understanding of important computer science concepts.
http://mitpress.mit.edu/sicp/
No matter what, your son will need SOME guidance. If you aren't able to provide it, you may want to set him up with an account on some web forums related to whatever you choose where he can ask questions.