So this summer holiday I have promised my ten year old nephew that I will teach him some programming. This is quite the task. I myself have not coded anything more than the odd snippet of php/html for many moons. The problem I face is what language to teach him. I want him to get to grips with the basics and ideally learn a modern language that he can grow with. I know he wants to learn to write games (doesn't every ten year old boy?). I have a basic background in ANSI C, CoBol, Pascal etc, but that was mostly at college (some 20+ years ago) I always remember the principles: It's not the language that matters, rather the techniques and principles to be used. I just thought I'd pick something useful that will a) let him grasp the concepts of planning, developing and testing code, as well as a language that is reasonably modern enough to be relevant if he wants to experiment. In 'Ye Olde Days' I would have taught him in Pascal and then straight on to C... Besides I think it will do my brain good to learn this object oriented malarkey too. I am contemplating going the C++ route (that's partially my inner prejudice for anything Java vs C). I am downloading a bunch of tutorials, source and vids for Java and C++ at the mo. I shall have a go at them myself and see what I think he will be able to get on best with. If anyone has any suggestions, I'd appreciate the input.