Like the title says, what is the best way to learn programming if you've never done so before? Should one start explaining variables, sequential execution, objects, algorithms; where does one start? Of course, this may differ from person to person, but maybe there is a best "average" way which helps the most amount of people on average.
I myself don't actually remember the time when I started programming, which is why I'm interested of this. Also, I've often wondered how programmering to newcomers should be taught in the best way.

