Most of the people asking questions online are actually quite good programmers. For some reason this seems to be doubly so for Stack Overflow. I don't know why. Note that I'm not talking about the people that answers those questions. My thought is that people that ask questions online are sort of admitting that there are things they don't know when they ask questions online, and I think that only programmers that know that they know what they can do, and no matter what they ask they won't be put down, will be able to do that.
As such, this also means that there aren't that many "How do I calculate the sum of two numbers" type of questions here, without implying that that's the kind of question you could answer. But, simply because the people asking questions would have bested those types of questions themselves, they bring harder problems to the table.
Many of the questions here are really oddball questions, needing thinking-outside-the-box type of approaches, or just need expertise in one area or another.
Basically, questions fall into one of many categories, here's a few:
- Obvious questions that most will know the answer to (how do I calculate the sum of two integers?)
- Had-to-be-there type of questions (Why is Visual Studio failing to load my solution file after I've switched from SourceSafe to TFS?)
- Oddball questions (Why does the Oracle OLEDB driver take down my application if my application has been installed to a directory with a space in its name?)
- One-in-a-million questions (How do I solve NP-Complete problems in constant time?)
And I postulate that the obvious kind is not that prevalent on Stack Overflow.
As such, most people won't be able to answer most of the questions here, only a few, for whatever reasons that might be.
There are plenty of opportunities to learn here though, and frequently when I see questions about things I feel that I really should know the answer to, then I take that as an opportunity to put things on my todo-list, or just start looking into right away. I have recently learned a new term, dynamic programming, which I apparently have both been doing, and knowing about, for some time, without actually knowing the term for it.
A day when I learn something is never wasted.