Why do people keep asking permission to learn things?
I think programming is a matter of drive and motivation.
I keep seeing these questions on sites like Stack Exchange with the same general pattern: "how do I teach my coworker how to program?" or "how do I learn to program?" or "what should I read to learn how to program?". There was something odd about these questions but I could never put my finger on it.
Now I think I have identified some of the strangeness. These questions are usually posed "cold", as if the person who wants to learn has never tried anything in the realm they are trying to learn. They are totally blank slates and have not done any sort of experimenting or solo exploration in that particular field.
Do you see the problem yet? Now, it's possible that a person asking such a question has already done some basic work and wants to know where to go next. That's different, and the way you can tell them apart is to head off their original question and just ask one thing to get started:
What have you tried so far?
If their answer is "nothing", then you can be pretty sure the person in question is not really motivated to do this. After all, you don't need anyone's permission to start poking around at a programming language. There are countless books, web sites, videos, magazines, and all sorts of other media which could count as basic introductory research.
Someone who hasn't bothered to encounter any of those might not be serious about getting into this whole thing. If that's the case, what will that mean down the road? Will they have to ask these questions to effectively ask permission to move on to bigger and better things when some new problem comes along?
Will they come right back with another one of these questions when it's time to start playing with SQL, TCP sockets, or threads?
So let's turn this around. Let's ask the same question of someone else who is a little more motivated and more of a "self-starter".
What have you tried so far?
This time, the answer is "I tried some Python and Ruby because my Mac had those already installed and I found a couple of sample programs online". Right there, you know there's potential. You can move on to more practical questions and see how they responded to those first small steps and get some idea of how they learn. Then you can hopefully direct them to something which fits with their own style (which may not resemble your own).
Granted, this post is aimed at those who are bound to be on the receiving end of such questions. However, I have a message for those who might wind up asking them and read through this anyway:
Stop asking permission to learn. Go try things for yourself. After you've done that, if you need more direction, find someone and ask.
November 12, 2011: This post has an update.