I’ve had a lot of people ask my how to learn how to program.
And my favorite analogy for that, is that learning programming is a lot like learning carpentry. No one really asks how you become a carpenter. They just go off and build things. Tables, chairs, shelves, boxes.
This is a companion discussion topic for the original entry at http://benhoff.net/types-of-programs.html