>One of my support people asked me how to learn to program. I learned to program in 1970 and learned it from machine code up. I'm not sure that is still the best approach. Any ideas on the best tools/books to learn programming?
The fact that that was the historical development (machine language, assembers, compilers) doesn't mean it is the best approach, didactically, to proceed in that order. I would suggest learning to program in an easy language, that is, a compiler. Knowledge of assember or machine language - if at all required - is easier to fill in later, when you already know where you are heading.
You could start with VFP, C++, Pascal, Delphi, or perhaps a .NET language. Or several other popular tools.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)