"Daddy, will you tell me a bedtime story?"
"Sure. Once upon a time there were two variables."
"What were their names, Daddy?"
"We'll call them D and M. And D and M were initialized together and were very happy. And then one day, they, um... multiplied..."
"Is that a euphemism for anything, Daddy?"
"Not at all, dear. Not at all. Anyway, they multipled and the result was a bouncing baby variable named A."
"And they lived happily ever after! Together!"
"Well, not quite. You see, there was an another variable, who'd never bothered to get initialized. His name was X."
"Ooooh. Was he a bad variable?"
"Oh yes. Because X wasn't initialized, he was a big fat zero. And then, he tried to divide D and M!"
"Then what happened?"
"A horrible division by zero error!"
"And then do you know what happened?"
"The bad old variable was taken out of the program, and then it compiled just fine. The end."
"You still program in BASIC, don't you?"
"Ah... well, it's Visual Basic."