I agree with the suggestion of an interpreted language. Being able to get instant results, especially when you're young, is helpful to keep motivation up, and Python is a good suggestion as there are plenty of resources for children available.
I almost want to suggest Lua, as this is a nice little language used by the ComputerCraft mod, so learning this would also allow your son to put programming to work in the Minecraft world. However, it's not as easy to get hold of the same amount of child-friendly tutorials for Lua, as far as I can tell and the official Programming in Lua book is mainly a demonstration of the language itself, rather than covering programming concepts as well, so isn't really a good introduction to programming on its own.