36

I've been hanging around C/C++ questions mostly, and I am seeing some questions where the only useful answer is "go take computer science 101" or "go read K&R, and don't come back till you understand it".

To what extent is Stack Overflow supposed to replace talking to your computer science professor or reading a single book on the language you're asking about?

When I see a C question from someone who does not know what a linker is, or someone asking if declaring a stack variable causes a memory leak, I am at a loss as to what to do. I don't want to be uncivil and start a flaming war (hell, I do want to do that, but I've resisted so far). I don't want to downvote, because the question is on-topic, after all. In the moment, I simply fume and move on. Is there anything that I can/should do?

6
  • 1
    Oh yes, I see this question is going to cost me plenty :)
    – user132018
    Nov 21, 2008 at 18:44
  • I actually think it's a valid question; although, that said, it's not really a "programming" question... :-) More of a "programming question" question! Nov 21, 2008 at 18:47
  • 2
    Any time you feel this way, you should go and up vote any of my questions/answers that you haven't already up voted. :-)
    – tvanfosson
    Nov 21, 2008 at 18:50
  • just did, but I usually don't go around looking for questions/answers to vote up. But if I read it, and it's clearly written and a valid question, then I will. Now if some people would return the favour.... ;-)
    – Elie
    Nov 21, 2008 at 18:54
  • Yea, I did too :) Not my area af expertise, but if I ever get around to learning Flex, I may upvote one of them.
    – user132018
    Nov 21, 2008 at 18:59
  • 2
    See, but we all fall into this at times. We often don't know enough to ask- that's why we're asking! I say let it go if it's OK and on-topic Feb 1, 2013 at 17:05

14 Answers 14

19

Both Jeff and Joel have said no question is too n00b. If it's a programming question it is valid. We all started somewhere.

The caveat to that is if someone is clearly trying to get you to do their homework for them, they should be voted down to the spinning molten core.

4
  • 4
    Not so much do homework, but rather attend the lecture.
    – user132018
    Nov 21, 2008 at 18:43
  • What is the correct way to respond to something like this stackoverflow.com/questions/9244806/… and should those who reply be told off? Feb 11, 2012 at 23:29
  • @Relequestual That looks like a good excuse for a canonical question, and perhaps a good example of one. The question linked as a duplicate is too complex to be the canonical "how do I iterate an array with string keys" question. Feb 1, 2013 at 19:46
  • @user132018 That's cute, but not every one has the luxury of CS lectures. Most self taught programmers have no source of information but the internet, and it is our goal here at SO to improve the internet as a source of information. Pointing to a source of information most people don't even have access to is non-productive.
    – user200500
    Feb 2, 2013 at 21:32
10

Since this question is over four years old, and the norms have changed a bit since then, I thought I'd elaborate a bit.

We already know that, if you allow it, people will flood the site with vague, indecipherable, underspecified questions. Basic, "teach me" questions are a subset of this flood. Stack overflow was not designed to be a platform for questions which require lengthy hand-holding, and the problem with a site filled with "how to move the turtle in logo" questions is that it drives away the experts. Without experts, there is no site.

At the heart of every post on Stack Exchange there is an unavoidable tension: how do we help people out with their specific problem, while still making the material we're creating interesting and accessible to others? People come here to get their problems solved, but the main goal of Stack Exchange is to create a repository of useful knowledge. You can't do that with chicken scratches, and that's what you get when you engage a user in a lengthy discussion over basic knowledge.

That's why we ask people to show their work; in part, it demonstrates that the problem they're wrestling with is non-trivial.

6

Ignore the question. If it's a duplicate, find the first entry and link to it in the second, and if you have the power close it as a duplicate.

Questions regarding linkers, stack variables, and memory leaks are valid questions, and shouldn't be punished in any way. Let those that want to ask and answer those types of questions do so without interference.

6

No question is too simple. The person may not be able to reach their professor for a while, and needs a quick answer. Maybe they read the manual, but didn't understand it for some reason. And yes, maybe they're just lazy. But by putting up an answer and moving on, you encourage them to learn, and to ask.

As I tell people when they ask permission to ask a stupid question: "There are only 2 types of stupid questions: those that aren't asked, and those that are asked twice." In the first case, not much you can do about it, as they haven't put up anything for you to comment on. In the second case, maybe they couldn't find the other version of that question, so instead of answering the question, do as @nobody suggests and link them to the duplicate, and if you can, close the question as an exact duplicate.

4
  • If the question was "what is a linker and how it works" or "What is the difference between int a[10]; and int *a = new int[0];, I would gladly answer. I am talking about a question where the asker assumes that he/she has a little problem, when in fact he/she misses the whole concept of coding.
    – user132018
    Nov 21, 2008 at 18:52
  • 2
    So maybe point that out. Answer the question: e.g. pass by reference means..., pass by value means..., and for more information read this article <link> or read this book. Sometimes it's just the way it was written, and sometimes they heard a term and want to know what it means.
    – Elie
    Nov 21, 2008 at 18:56
  • 1
    Point out that they do not understand how computers work? That would be flammage, would it not? It's something I've seen very little of around here, and am trying to avoid adding more of it. What can I do short of flaming them to death - that is my question.
    – user132018
    Nov 21, 2008 at 19:03
  • Depends on how you phrase it, of course. Suggest a beginner's book on computing? It really depends on the question, but my point it that the actual question should get answered, with very few exceptions (not a real question, duplicate, clearly homework without stating the fact).
    – Elie
    Nov 21, 2008 at 19:08
6

I think the proper thing is to just not answer the question.

Essentially, I think stackoverflow is for many different levels of skill, and levels of knowledge. To some extent, I think there needs to be a bit of "self-selection" involved in the question answering process; I know that there are questions on here that are way above my head on some topics. I don't downvote those for being too complicated; I just assume that my domain knowledge is not high enough. In a similar vein, there are questions here that are way too simple for me to consider them interesting; I just assume that someone with less knowledge than me will find them to be reasonable questions, and will answer them. If the answer is REALLY easy, well, then it's a good way to snipe some reputation points, of course... :-)

In general, I don't think there are questions that are too simple to be asked and answered on here, as long as they're on topic. That said, I agree entirely with IainMH's assessment of the "do my homework for me" questions; those get downvoted by me, HARD.

1
6

First you have to ask YOURSELF a question. Why does this bother me so much?

Is it because you are tired of answering the same question again and again? Is it because it becomes too hard to address the question when the foundational knowledge isn't there? Or is your frustration a deployment of superiority; a way to feel cooler than the rest?

Teaching is one of the most important and vital institutions of the human race. Part of why we're here is simply to learn, and the best way to learn is to teach.

I'm on Stack Overflow because I am not a code plumber, nor do I have the time to go to school for a third time to learn a whole other discipline. I am a visual artist. And I have need to rely on YOUR wisdom and the collective wisdom of this awesome community.

If you have the time to answer a question, even if you have to help out with some of the basics, then please do so. If you don't have the time or patience, someone else does.

Thanks for asking this important question.

3
  • "Is it because it becomes too hard to address the question when the foundational knowledge isn't there?" Yes. How would you feel if I asked you: "Please tell me what is the best exposure for snapping a picture?"
    – user132018
    Nov 22, 2008 at 3:58
  • 1
    Actually I get asked that a lot. I mean a whole lot. If I'm not in the middle of an assignment I usually ask for elaboration like, "what kind of picture do you want to take?" But I do understand the difficulty involved in helping someone if they're missing too much of the puzzle.
    – rashneon
    Nov 22, 2008 at 4:23
  • @rashneon -- i didn't ask the question, merely edited the tags. please be a little more careful where you point your flamethrower. i've edited to reflect the actual OP.
    – tvanfosson
    Nov 23, 2008 at 21:49
3

Post a link to http://letmegooglethatforyou.com/

More seriously, either answer the question or let someone else do it. But, if you do answer the question, give them enough info so they can help themselves in future. (Even though they will most likely ignore it)

Ignoring it isn't a good idea, we don't want semi-noobs answering noobs questions. We want to make sure the answers on this site are correct.

3
  • That link (or more specifically what it does) is simply hilarious.
    – Hemant
    Jun 26, 2009 at 4:47
  • 9
    -1 for lmgtfy - it's unhelpful at best
    – Flexo
    Mar 6, 2012 at 11:51
  • Of note of course, LMGTFY is by now banned. The answer, if ever valid, has as such become obsolete.
    – Bart
    Feb 1, 2013 at 19:19
3

I believe poor questions are best handled by a lack of answers or "up votes". It's silly to "down vote" an item because you think it is beneath you.

3

I also think it's important to remember that someone asking a question may never take a CS class or read a programming book cover-to-cover. There isn't necessarily anything wrong with that...the fact that we've built systems that non-programmers can pick up and figure out how to make the computer do what they need is (mostly) a good thing. Though of course if they are obvious duplicate questions where someone just didn't bother to look themselves then they should treated as such.

3
  • 1
    I am talking about people asking programming questions and counting themselves as programmers. People who did not bother to learn basic facts about coding. The only answer that would do any good starts with explaining von Neiman architecture to such a person.
    – user132018
    Nov 21, 2008 at 18:47
  • 4
    It's one thing to not read a programming book. It's quite another to expect other people to read it to you.
    – Sherm Pendley
    Nov 21, 2008 at 18:54
  • There is something VERY wronge with someone writing C/C++ code if they have not taken lots of CS class or read lots of programming books cover-to-cover. Mar 17, 2011 at 12:14
3

People learn in different ways. While "go read K&R and don't come back until you understand it" might work for one type of person it most certainly will not for others.

Maybe the personal explanations of basic concepts from people here on SO will give the person a better understanding so they can then go and seek out information themselves. Maybe it will act as a crib for people who don't have the requisite knowledge/ability to instantly be self-learners.

I know that when I first started programming if I would of had a resource like this to answer my small and trivial questions I would of certainly picked up the material faster. Sometimes books and even teachers leave unanswered questions or vagaries. I'm more than happy to help drive home any point to a budding programmer as long as they are interested and willing to learn.

If you don't like the simple questions then ignore them. Problem solved.

3

The beauty of Stack Overflow is that you can ask/answer questions and help others, regardless of their level of experience or how advanced the question is. What you're basically saying is

Don't use Stack Overflow (or the Internet for that matter) if you are new to a subject. Only ask advanced questions",

which is stupid. Long ago I was asking basic questions and getting help from good developers who were willing to help (unlike you, thankfully).

2

Assuming the question is really near the level of How can I do 1+1 in *my programming language* then I think the question should be voted down immediately. Not because the level is too low but because it shows insufficient research effort.

If you just ignore the question others will also spend time on it which does not have to happen. Worse even, if the question does not receive even one downvote the question will remain open and just pollute the site.

2

...questions where the only useful answer is "go take computer science 101"

Is there anything that I can/should do?

Create/upvote/improve great canonical questions and answers about those "101" topics (such as this one on NullReferenceExceptions) and close-vote all other eligable questions as a duplicate.

9
  • Those are, in virtually all cases, very poor questions. They almost certainly shouldn't be upvoted in my mind. They may or may not qualify for closing, depending on the specifics. As for improving, the fundamental problem with most such questions is that they're so broad and contain so little that there's nothing to improve. Whether or not the value added from (potentially) good answers is enough to keep them open is a separate issue.
    – Servy
    Feb 1, 2013 at 19:40
  • @Servy Something could be said for not upvoting / downvoting those questions. However, given great answers, they are a very practical solution to all those other "101" questions, and can be a great help for beginners and advanced users alike.
    – Jeroen
    Feb 1, 2013 at 19:51
  • As I said before, I was specifically not commenting on whether or not they belong, I was simply stating that the question is of low quality. Anyone go and ask dozens of questions basically just asking for a tutorial on how to do some very basic task in language X. The answer(s) may or may not have value, but the question very rarely does, it's just a means of getting the answer published. One key aspect of SO is that questions and answers should be evaluated independently. A question isn't good just because there is an answer of high value.
    – Servy
    Feb 1, 2013 at 19:54
  • @Servy: for the record, which questions are you saying are "very poor questions"? The canonical questions? Feb 1, 2013 at 19:56
  • @JohnSaunders Yes. Whether they are asked with then intention of being canonical or not (the case brought up by the OP falls into not). Virtually all of them demonstrate a complete lack of research as they represent information that is very easily found either on this site, or through other sources, tend to be very open ended and expect very long tutorials/explanations of topics, and are prone to getting on offtopic tangents through such explanations. The intent of the asker is not really relevant.
    – Servy
    Feb 1, 2013 at 19:58
  • @Servy: If you feel that my canonical question is very poor, then please comment on it. Feb 1, 2013 at 20:00
  • @JohnSaunders I feel that my comments right here apply to that example.
    – Servy
    Feb 1, 2013 at 20:01
  • @Servy: I don't see any correlation between your comments and my question. That question and its answers represent a good deal of research and effort both from me and from others who contributed. I'm not sure we're using the same definition of "canonical". Feb 1, 2013 at 20:03
  • 1
    @JohnSaunders The question demonstrates absolutely zero research or effort and all of the contributions by others are meta-edits, not content edits. The quality of the answer(s) in no way effect the quality of the question, as I have said several times in this thread. You seem to think that the entire page should be evaluated as a whole, incorporating both the question an answer as one unit, just because you wrote both. That is an incorrect assumption. As I also said before, whether or not the question is meant to be canonical is irrelevant and has no bearing on it's quality.
    – Servy
    Feb 1, 2013 at 20:06
-4

If the question is very simple and seems to be from a beginner, perhaps adding a tag for that and setting your ignored tags to beginner may be of some help.

I don't think this site is to replace talking to your CS professor, but sometimes professors can be hard to understand or get some 1:1 time with to ask the question. As for referring someone to a book, this may be a good suggestion from someone that doesn't know which book is the sort of "Bible" for C/C++ programmers as they are learning this on their own with poor reference materials.

1
  • Yep, the tag solution occured to me too - I tried to introduce "mu" tag. Did not catch on...
    – user132018
    Nov 21, 2008 at 18:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .