Looking back, commodore basic was a very good first choice, because I didn't need to be able to read, let alone read english: I could recognise the print symbol (?), I knew that I have to put whatever I want to write on the screen between quotation marks, and then it was only a matter of looking at the keyboard and finding the right symbol for various parts of the dancing man.
So something very trivial, yet, fun enough for a 8 year old is a good start. The hard part is figuring out what to write, as that must be something he'll have fun with, thus, it will be fun writing it too.
Sitting down the two of you, with you first explaining what you will do, then doing it, and then letting him play around and change the code here and there is the best way to learn in my opinion.
For more formal programming Processing is a great learning enviroment: http://processing.org/
In both I would say the best method is to find challenges your son wants to undertake for himself. Learning to explore, play and fail is the way forward.
A couple of other things that might be worth exploring are the Android App Inventor (a Scratch-like environment for programming Android phones), and Hackety Hack (a Ruby-based environment for programming very simple webapps).