69

How should you respond to "Give me a fish" / RTFM questions? I mean the case where people post questions simply to get someone else to write their code for them, on topics that would usually be the first result on Google if they had taken the effort to search once before posting.

  • Usually I just plug in a link that points them to the right place... and the Google search terms I used if I'm annoyed (aka I do their Google search for them). This is the "teach them to fish" approach.
  • But given the big and growing SE user-base, these questions usually elicit someone to post an actual code sample — the "give them a fish" approach.

I'm wondering what the community thinks about this. I'm thinking we're making lazy people even lazier with the latter approach. The person just scrapes the code off the response and into his source and off he goes without being any smarter. The person is going to repeat the same behavior the next time he is stuck. Although I'm fine with people choosing to maintain their intellectual status-quo, is SE encouraging the wrong behavior?

Return to FAQ index

5
  • 1
    Related meta.stackexchange.com/questions/160565/…
    – Pekka
    Commented Jan 3, 2013 at 13:30
  • 1
    I'm not all hip with all the fancy new language the kids speak these days, what does RTFM stand for? (I couldn't find it in the related questions)
    – CBredlow
    Commented Jan 3, 2013 at 14:15
  • 4
    @CBredlow RTFM = "Read The F'ing Manual"
    – Shawn Chin
    Commented Jan 3, 2013 at 14:26
  • 21
    Ironically, it would have been trivial to find out what RTFM stands for. Google "RTFM". The first answer I see is the wiki definition :) Commented Jul 11, 2013 at 5:23
  • A deeper Google search into the etymology of the initialism claims the oldest known use was in 1983 (and relates to IBM, no less!) In short, a 30 y.o. from 1983 lines up pretty much with being in the central age of a "Boomer"... Me? It was only last week I found out what FGITW means... Social circles...
    – user1242880
    Commented May 7 at 8:39

14 Answers 14

56

I believe the appropriate action should depend on the question.

If the poster is simply asking for someone to write their code for them without putting in any effort themselves, I would downvote and vote to close.

If the poster has demonstrated some prior effort, then perhaps it's down to them not knowing what to search for or how to apply to their problem the information returned from the search. You can help by leaving some hints as comments, and if you choose to do more:

go with the flow

5
  • 4
    +1 for... flow charts! One question - can you give an example of a question that would be answerable if you could find the right section of the the manual, but is still not "sensible"? None jump out at me.
    – Jaydles Staff
    Commented Jan 4, 2013 at 19:41
  • 1
    Perhaps not the most apt term, but by "sensible" I meant something that's answerable, understandable and a good fit on the site.
    – Shawn Chin
    Commented Jan 4, 2013 at 22:52
  • Sorry if this is off-topic, but what is the software used to generate this flowchart? Especially the fatter outline on the left side of Treat it like any other question.
    – Superbest
    Commented Feb 12, 2014 at 14:35
  • @Superbest IIRC, that was done using a rather old version of yEd.
    – Shawn Chin
    Commented Feb 12, 2014 at 17:10
  • I disagree that a "good QA pair" comes out of this. If someone asks "how do I place a block in Minecraft", then it's always a dumb question, because the game literally tells you how to do it. Having yet another place in the internet where the answer is repeated doesn't do anyone any good. There are lots of questions where people apparently didn't even attempt to look up anything on their own and instead dumped it into SE, offloading even the simplest of tasks to others. Commented Mar 21, 2019 at 19:06
26

If these people really don't know a better way to get their questions answered, then it's up to us to teach them, not to answer the questions for them. Otherwise, they may literally never learn.

I have no reason to believe this is a matter of stupidity. I honestly don't know why some of these people are doing this kind of work. I've tried to find out, but have not yet found a way to ask the question in a way that gets me an answer.

In some small number of cases, on the ASP.NET "XML Web Services" forum, I have been left with the impression that there are people who are working for a bad outsourcing firm (I've worked with several good ones). I get this impression when someone basically says, "I just started today, and my boss told me to write a web service that does so and such. What is a web service?" or when they come up with some nonsensical requirement that was clearly not understood, yet seem terrified of asking the customer for clarification.

Those (small) number of cases are absolutely not helped by handing them the answer. They will never learn how you got the answer, for instance. It has amazed me to see the number of people who are not familiar with http://msdn.microsoft.com/, and who have found it only because I posted links, including the search links.

They'll also never learn how to find the answer themselves next time, except that you will have taught them that the way to get their job done is to not stop to think, not spend five minutes on a Google or SO search, but to just go ask on SO and get some "helpful" person to do the job for them.

"Please don't feed the pigeons" is not the same as "please be mean to pigeons". It's purely practical.

3
  • I should have expected it, but see that even here on meta, people don't explain downvotes. Commented Jul 6, 2009 at 14:42
  • It's like the debate on: Should magicians reveal the trick behind their production? I think, especially, it is a good practice to provide excelent code samples to the OP. As bad samples could end up in production code so can good ones too. In turn, you might even help yourself in some long chained way.
    – akarnokd
    Commented Jul 13, 2009 at 20:00
  • 13
    I used to support an API, and many of the programmers who ask such questions do not understand that programming is a system based on underlying principles. They think things like long sum=0; for(int i=0;i<arr.Length;i++)sum+=arr[i]; is like a password you have to memorize to get the computer to tell you the right answer. They do not realize that for is a statement, that i is a variable, et al. Understanding this is a long process that is harmed, not helped, by simply telling them the "passwords" to problems. Commented Dec 7, 2010 at 21:26
25

It's not the individual "give me the answer" question that's a problem. It's the history of asking the same bad questions over and over that is a problem -- is the user actually learning, or abusing the system?

For example:

Please charge rep for questions after threshold

6
  • 2
    Even if they are "abusing the system," they're providing opportunities for others to answer questions that other people (who aren't abusing the system) may find helpful at a later date. So I think the damage caused by this "abuse" is minimal - it could be a benefit in some sense.
    – Sampson
    Commented Jul 6, 2009 at 10:30
  • 3
    really? take a look at this user. stackoverflow.com/users/108308/shamim ; that's with the worst 5-10 of his or her questions deleted. Commented Jul 6, 2009 at 10:40
  • 3
    I think my point here is that some people only have the capacity to ask these types of questions. It's shocking, I agree. And to the rest of us it seems as though they're wasting everybody's time - but that isn't the way it appears to them. In all honesty, learning how to ask questions is a relatively tedious process. The good thing is that while these questions are poorly-written, they are providing opportunities for people to clear up subjects of confusion. It appears users are answering many of these questions, which is a good thing IMHO.
    – Sampson
    Commented Jul 6, 2009 at 12:31
  • 4
  • 4
    While I agree with the sentiment, this answer does not say how to respond to such questions. Commented Dec 7, 2010 at 21:15
  • For an elaborate system that should assist in the bookkeeping, suggesting that readers should also review an OPs history before responding seems unreasonable. There should really be better advice.
    – Pekka
    Commented Apr 28, 2014 at 23:23
16

Whatever else you do; don't just add a "lmgtfy" - it is likely to be both downvoted and deleted.

2
  • 2
    learned a new abbr today :) I like to replay Joel's exuberant vocal response from the last podcast, when Jeff mentioned that a product request that Joel just thought up "already exists".
    – Gishu
    Commented Jul 6, 2009 at 9:28
  • 1
    Sometimes lmgtfy is so darn tempting. Its a humorous way to make a valuable point. But yeah, its best in a comment, not as an answer. Commented Jul 11, 2013 at 5:28
8

I'm with Paolo here. I discourage "RTFM" within responses. I actually ran into a guy yesterday who used that as part of his response and down-voted until he changed it. He later got an up-vote from me.

The question was on the DELETE command in SQL, so it really only needed a link to the docs. At times, I'll just post this link - I mean, the person asking the question may be totally fresh to this world, and not even know what a doc is, let alone how to use one - I didn't at one time.

Another user asked "how to translate this code to regular PHP" yesterday. It was a small block, showing an object method being used, but was entirely procedural. I took it anyway, and tried to explain some of the more confusing things, like the ternary operator, and a formatting print statement.

In this world, I don't tend to get upset over "stupid" questions. I just help.

5

Let me prefix my answer with this statement, I love to teach. I've always enjoyed it and I like, where possible, to mentor rather than just teach rote.

That said, I have little time for someone who hasn't tried to learn themselves. Even a "I tried searching Google but wasn't able to find anything relevant" would be better than a clear statement that they've done nothing more than find SO and post their question. Let's be clear here, they had enough intelligence to find SO, I'll just leave that out there hanging.

There is no such thing as a stupid question, I heartily support that statement. There is, however, such a thing as a lazy question, often mislabelled as a stupid question. I fully support that newbies are going to ask questions with, for the experienced, very simple answers and where the answer incorporates guiding the OP to a more correct path or helping them dig into the internals of difficult problem then that's an answer worth posting. If it's just pointing them to documentation (anyone who doesn't know what documentation is (I saw someone comment about this) shouldn't be trying to write computer programs in my opinion) then that's a waste of their time and ours, they should be directed to find that information themselves.

They'll never gain the skills needed to get Google to present what they are looking for rather than what it thinks they are looking for if they are always presented the answer on a plate. Do we really want to turn SO into a manual search engine? I thought the intention here was to build a repository of quality information relating to software engineering/development/programming issues that was searchable (locally and from Google) rather than simply replicate what's already out there, however facile.

Let's be clear, the supposedly rude responses are primarily symptoms of lazy questioning which is a bad habit. Why are so many people intent on removing the symptoms while the cause is effectively supported through that action.

1
  • 2
    Actually, I think I've had it. I'm sick to death of people whinging that lazy questions get answered with "Go find the answer yourself". They are so blinkered they can't see that each and every question supported in that way that pushes the boundaries of what SO is for slowly move the boundaries until eventually anything will be acceptable and not pandering will get you slapped. I know we have Joel and Jeff in there to haul it back but the weight of community cannot be ignored. Is SO for programming issues or not? Is it a manual search engine? WTF is going on? I'm sick of it, and outta here.
    – Lazarus
    Commented Feb 12, 2010 at 10:13
5

Waking quite an old question here, but it seems everybody's answers focus only on askers of trivial questions, while I believe the answerers of trivial questions are the bigger problem. Sure, askers might be beginners, but what I see are obvious questions with one or zero constructive answers (e.g. abstract explanation with pointers to authoritative references) and 5-6 different non-wrong ready-to-copy answers, all of them upvoted. Other beginners will come to SO, search for their issue, and get their answer on a platter. They will not learn anything from this process, besides "SO has ready-to-use answers". These answers will not help them stop being beginners.

This also discourages people from posting more constructive answers. When you see a bunch of fishes given to the asker and already upvoted, a constructive answer is very likely to not get accepted, and I've seen comments along the lines of "why is the RTFM answer upvoted".

In a recent example, such a lacking answer resulted in another question due to not understanding the previous one. Probably there should also be voting for non-constructive answers?

5

Some thoughts ...

  1. Most institutions that set homework have a policy that submitting answers you can't explain or copying without attribution is grounds for failing the course: either way you'll be no better placed when exams come round. Just copying code or answers to plug in to, for example, Project Euler, seems only to short-change the person who does it. We might view it differently if someone takes a code snippet we wrote, uses it in a project that gets into litigation over patents or copyright or fails in other ways where lawyers get involved.

  2. For anything other than a trivial question there is skill in choosing good search terms and selecting a good answer from the ones offered. Defining 'good' is an interesting exercise: finding a code snippet to copy seems no better than having the snippet on SO. My 'good' would be somewhere that helps equip a person to deal with this class of question: ideally it gives a pointer to the tools and some insight but then sets the very question the questioner raised but without giving the solution :-)

  3. Items found from a search are (likely) to be accessible to the questioner (unless the searches include material that is not available to everyone) whereas print books may not be accessible to a questioner or other readers of the question and its answers. In the long term, though, the book-style approach is likely to be better for the development of the questioner than learning how to cut and paste. The practice of giving references to materials that are not legal to download should be deprecated (even though establishing what is legal in every jurisdiction is not usually possible).

  4. Internet links tend to decay over time. Is it better for SO, for example, to actually include the material (with attribution where appropriate) or refer to it elsewhere. I don't think we undertake to keep our answers up to date as links and technology change.

  5. Where a code sample is requested perhaps it should be enough to indicate how to approach the problem, at most giving some pseudocode -- I might go further and suggest code samples should contain (deliberate) errors or omissions or be given in obscure languages (Algol-68 or Coral-66, anyone?) but I suspect an avalanche of downvotes would ensue.

1
  • re: "code samples should contain be given in Algol68 ..." This is how ACM has been doing it since 1960 ;-) c.f. calgo.acm.org
    – NevilleDNZ
    Commented Feb 22, 2013 at 9:02
4

If you're just going to give them a relevant link and the search terms you used, that's fine for a comment. You can make it a full answer by also quoting the relevant information from the manual, or including an example that illustrates how it answers the question (or both).

3
  • 1
    For instance this comment of mine and the related question/answers... Commented Jan 3, 2013 at 13:45
  • @benisuǝqbackwards Yes, the answer by AngelCastillo is a good example as well. (Also worth noting is that I deleted a simple "RTFM" comment below yours.) Commented Jan 3, 2013 at 13:47
  • I had an ulterior motive for posting this particular question @bill :-). Comment deletion / question closing etc... Commented Jan 3, 2013 at 13:48
3

To answer your question, I usually respond with a downvote and a "What have you tried comment."

Overall, I see this as a fundamental flaw in the SO gaming mechanics. The mechanics encourage people to post answers to questions to get upvotes. Simple questions are the "low hanging fruit" that people can use to get a few easy upvotes on an answer. So when you see these questions, you will see a few "What have your tried" or google link comments and then a barrage of answers that provide all of the code needed from people hoping to get a few precious upvotes.

So then the question becomes, what do you do with the answers to these simple questions? Most people simply do not upvote, but some do, acting as an enabler for this behavior. Downvoting them doesn't seem fair, as the users are providing a valid answer to the question posed, but the question provides little value to the site. Closing the question prevents additional answers from being added, but the answers that got in before the closure are still there and people still benefit from the upvotes they had received.

3

After listening to some of the podcasts, the view expressed by Joel seems to be he wants the answer posted even for the simplest of questions (see how-do-i-move-the-turtle-in-logo). I don't remember which podcast it was in.

My interpretation was that Joel wanted good factual answers in SO. Not a Google search link, or an answer that said RTFM.

2
  • 1
    @Charlie: I wasn't referring to simple questions. I was referring to answers that don't teach. It doesn't help anyone in the long term to just give them the code or the answer without asking them to think. That's like giving them the answers to their homework or to their exams. They can use that info to pass, but when they need to know the answer, they won't. They'll just come back here to get someone to give them the answer again (and probably not even bother to search for the last time someone gave them the same answer). Commented Jul 13, 2009 at 21:19
  • Ok, but the it's usually the simple answers that are in the RTFM category.
    – Charlie
    Commented Jul 14, 2009 at 14:04
2

I try to do both: I show them a link, and give them a code sample (maybe not exactly what they need so they can finish it up), with a (hopefully) decent explanation of how the code works so they are aware.

2
  • 5
    If you give them the code sample, they'll never use the link. Commented Jul 6, 2009 at 12:55
  • Have a delay between the link and your code sample, for example wait for the OPs response/comment on your answer and then provide more details. It could help you assess the level of the OP and the required detail level from you.
    – akarnokd
    Commented Jul 13, 2009 at 19:54
2

Giving a link is OK, but be careful if you give a link to a Google query. If the question becomes popular enough, or the answers good enough, it might end up pointing back to itself.

1
  • obSynchronicity: Actually, link-only answers are discouraged (now?)
    – tripleee
    Commented Jan 16, 2013 at 18:43
-1

The best way is to help this person develop themselves, so they can realize that they should have figured that out already, alone.

Not giving the answer for free, but rather by handing them the tools, tips or cues they needed to get the answer. Sometimes also, all they need is a little tap in the back or for you to point them out where to start from, where to search or in which direction they should head.

The nice thing in this teaching process is that they won't forget what they learned, because they learned themselves, by themselves, with just a tad bit of help from you.

You must log in to answer this question.

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