Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Is this the right way to learn?

by pg (Canon)
on Oct 15, 2003 at 14:59 UTC ( [id://299429]=perlmeditation: print w/replies, xml ) Need Help??

In last couple of days, I saw at least three posts from the same Anonymous Monk about hashes. I can see that’s the same person, because all those has something to do with parsing a file containing data in a::= b format, and trying to load them into hash. Maybe more than three posts, but at least I noticed that many, and I don’t check all the posts.

The last post I saw was about how to delete from a hash (a little bit more complex, as each hash value is a ref to an array). It saw it around 11:30 p.m. last night, and I was thinking of answering it, but then I said to myself: wait a minute, is this the right way for the guy to learn? Why cannot he at least do some home work before asking? He cannot continue to do this, and this is very suicidal.

I am absolutely cool with questions, but it seems to me that there is some skill more important to learn, that is the skill to learn on oneself. By answering those questions, I am not actually helping, I am slowly killing the guy, mentally…

Now I want to hear from both newbies and experts about this, what do you think is the right way to handle this?

Replies are listed 'Best First'.
Re: Is this the right way to learn?
by gjb (Vicar) on Oct 15, 2003 at 15:28 UTC

    I don't know about the right way, but if I'd notice someone struggling with the same issue post after post, I'd try and point out that issue to him. I'd also include references to his previous post so that others who'd be inclined to answer but have been less alert see the pattern.

    Recommended reading is always a good suggestion, I'd think as well as an example in a more general setting than the OP's problem.

    Not answering the question allows others to slowly kill the guy.

    Just my 2 cents, -gjb-

      When I was a newbie, one big problem I faced was that, I had difficulties to figure out which Perl doc I should check for certain things. Nowadays people are used to those searchable GUI stuffs.

      I am not talking about those docs for particular modules (those you can easily pin point by module names), but those ones started with ‘perlxxx’. When we answer questions, if we can point out the doc, I believe it would help a little bit more.

Re: Is this the right way to learn?
by Abigail-II (Bishop) on Oct 15, 2003 at 15:42 UTC
    Usually, such a person is trying to get his problem solved by spoonfeeding. Such people ask questions whenever they get stuck, and from the answer, only pick the things that bring them closer to their goal. And if they hit another bump, they ask new questions.

    There isn't much you can do about that. You can reply 100 times with the advice to read a manual. 100 people can reply with that advice. But as long as there are people who give them bite size solutions to their specific problems, they are rewarded. It's a very efficient strategy, straight from Darwins theory books. IMO, the best thing you can do is to ignore such posts. It won't stop them from asking (not unless everyone ignores their posts), but at least you aren't spending many resourse. Not much more than glancing at their posts (and if we had killfiles, you wouldn't have to spend time glancing at their posts either).

    Abigail

      If the first response is someone pointing out that this post is part of a pattern of repetitive questions from the same person, most people will decide not to respond. If the questioner is too annoying, their posts start getting considered. So far that combination seems to have been enough.

      Any healthy community always has some feedback mechanisms to encourage people to stay within an accepted range of behaviour. That is necessary because being generous to everyone is ultimately destructive of the community.

      Eventually we will have some questioners who go ballistic. We will also have some answerers who do their best to answer questions despite their being considered. But we can cross that bridge when we come to it.

Re: Is this the right way to learn?
by mpeppler (Vicar) on Oct 15, 2003 at 15:33 UTC
    I guess it depends on your mental makeup - personally I learn by doing rather than reading, and a language like perl makes that really easy (write a little snippet that attempts to perform a specific task starting with something simple and making it progressively more complex).

    In some cases you need to read/understand quite a bit of stuff before you can start - if the basic concepts of what you are trying to do aren't understood then you obviously can't get from A to B, and that's where getting a clear explanation from someone who has already done something similar (or who understands the problem better) makes a lot of sense. But I think this should really be a bootstrapping process, rather than providing the complete solution.

    Michael

Re: Is this the right way to learn?
by Taulmarill (Deacon) on Oct 15, 2003 at 15:48 UTC
    The type of answer I like the most is, when I get a quick anwer how to fix my problem getting along whith a few pointers which I can follow if I whant to know more about it.
    I´m trying to anwer exactly that way when writing replys to questions.

    Maybe the best way to answer the guy you talked about is by giving him only the pointers and no answer, so he is forced to learn by himself.
    I think when he would get used to finding the answer to his problem bevore comming here, he would see, that it´s most of the time faster that way.

Re: Is this the right way to learn?
by ptkdb (Monk) on Oct 15, 2003 at 19:35 UTC
    Such are the burdens of knowledge.

    No one wants to say "no", but where we should expect a certain discipline from people who ask questions, people who answer them may have to exhibit some discipline as well.

    How many have had to tell someone(privately), "you're about to cross a line between 'asking me HOW TO do your job' and 'asking me TO DO your job?'" Usually after having been asked the same question several times in a row, with little or no apparent progress between questions.

    Any person who is "The Goto Person", "The One Who Knows X," or "The XYZ Guru," etc, will probably have this experience at somepoint in some form. Each person is going to have to draw their own lines and probably for each individual asking.

    It's easy descend into the bad habit of answering questions that can be answered with a simple man page lookup, or browse through an index. A personal best was when someone asked the options to the "ls" command for a linux box he was sitting in front of.

    In such situations we hope that at each question a person gains a little expertise of their own, and a little more savy and that over time the questions become fewer and stop altogether. In such cases offering answers that seem simple and burdensome to us are an investment.

    For a system such as this, it's a very different situation. The person in question isn't asking just one person, he's asking everyone who checks on the post.

    The problem comes when these simple questions drain the time and attention of the more experienced people who could be answering other questions. Again, it's a matter of individual tolerances, but now spread across more people.

    One thing I've found effective is that when presented with a question that smacks of, "I didn't want to look it up myself so I'm asking you," is to ask "What have you found out so far?" Putting them on the spot to profer what effort of their own(if any) has been done so far.

    A simple standard for here could be to avoid answering questions that don't include some text to the effect of, "I've looked it up in Programming Perl 3rd Edition, 2nd Edition Cookbook, Learning Perl, CGI, etc etc", or some other indication that they're not reaching for the Monk's robes first and their own brain cells second.

    The bottom line should be that you don't want to turn someone away for whom a couple of quick answers might keep them from going off the wrong direction or get them rolling after being stalled on one issue. At the time time, you don't want to have someone take advantage of you either.

Re: Is this the right way to learn?
by bradcathey (Prior) on Oct 15, 2003 at 21:52 UTC
    Newbie by choice, here. I know the frustration of seeing repetitive or poorly worded (non-English speakers notwithstanding) and questions that obviously indicate the person won't crack open a book. Even I, as someone new to the Monastery since mid-summer of 03, can spot them now.

    And now, when I'm thinking about posting a question (and not to sound too self-righteous) I do take the time to Google, SuperSearch, read the Camel book, etc., before posting.

    Just last night I was in the middle of posting a question when I forced myself to try one more variation...and it was the one that worked. So, no posting.

    As a "newbie" I'm a little embarrassed to ask a question around here, but enjoy doing so because the replies come quickly and are usually 100x better than other forums. I would propose a "newbie" area where XP'd monks would only have to be subjected to more elementary questions by choice.

    Anyway, I wish I'd discovered the Monastery ages ago. My code wouldn't have sucked so badly. I'm thankful that there are tolerant monks who are willing to help. I look forward to the day when I can return the favor.

    However, to answer the question, asking questions here is only part of the learning process. The existing nodes, tutorials, FAQs plus all the other great resources we have as Perl coders should form the bulk of that process.

Re: Is this the right way to learn?
by Not_a_Number (Prior) on Oct 15, 2003 at 18:06 UTC

    And again, quite often a Seeker of Perl Wisdom will write something like "I'm not looking for code to do this, just some pointers in the right direction" ... only to receive several alternative fully coded solutions! (I know, it's happened to me.)

    How to discourage that?

    dave

      I actually don't think that this should be discouraged. The petitioner has shown that they are not simply looking for an easy answer. If someone wants to go the extra mile and give them one, then good. The petitioner can always ignore the full code and roll his own, and anybody else who was interested can see the code.

      Remember that it's often not just the petitioner who is interested in the answer!
      ----
      May your tongue cleave to the roof of your mouth with the force of a thousand caramels.
Re: Is this the right way to learn?
by BrowserUk (Patriarch) on Oct 15, 2003 at 22:19 UTC

    Personally, I think that if a post, or a poster doesn't get your creative or expansive juices going, then move on ... there will always be another monk, perhaps less jaded of the "FAQ"s, less busy, or desperate to "give back" that will be prepared to pass on their knowledge.

    I think it's the combination of a uniquely tolorant attitude and willing "new blood" that make and keep this place bookmarked in so many peoples browsers, and prompts the frequently expansive thanks and praise from recent arrivals.

    I wouldn't change a thing, but maybe I'm one of those "stupid monks" who reaches beyond the reasonable bounds of tolorance?


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail
    Hooray!

Re: Is this the right way to learn?
by sauoq (Abbot) on Oct 16, 2003 at 07:18 UTC
    By answering those questions, I am not actually helping, I am slowly killing the guy, mentally…

    I think it is respectful to assume that the poster knows what is best for himself rather than to presume I know better.

    I can choose whether or not to answer and I needn't have any reason more substantial than a whim, but it would be arrogant to decline to answer under the assumption that answering correctly would do more harm than good. That's simply not my call to make.

    So, if you are inclined to answer a person's question but are hesitant to do so because you suspect you'd be hurting his education in the long run by helping him in the short one, then I suggest you simply ask him if that is the case. A short few sentences like

    I've noticed you've asked several related questions. You've gotten answers but they are only helping you incrementally and that doesn't seem like a very efficient way to go about learning this stuff. Are you getting the help you need?
    would probably suffice. Perhaps he will say no and ask for your advice on a better approach. Or maybe he will say yes, that he is just trying to get through one project and never plans on writing another line of Perl when he is through. Then again, he might ignore you altogether and post yet another question when he hits his next snag, leaving you with the same choices you had before but probably less inclined to be helpful. In any case, there's no point in guessing or worrying that you might be "slowly killing the guy" with your answers.

    -sauoq
    "My two cents aren't worth a dime.";
    
Re: Is this the right way to learn?
by SavannahLion (Pilgrim) on Oct 16, 2003 at 03:28 UTC
    I'm a llama when it comes to Perl. But when it comes to helping people, I might as well state that I moderate a nice gaming forum, so I'm familiar with people asking questions that have such easy answers.

    To boil everything down, I just try to follow the How to Ask Questions the Right Way coupled with the, "we don't do your homework," that other developer forums follow.

    But yeah, I'd imagine that knowing how to find your own answers is much more valuable than knowing how to hit the Preview then Create buttons. Really, honestly, I use the Search feature here more than anything else. I can't stay at any website that doesn't have a decent search engine (barring my own defective forums search engine :-\ )

    However, understanding how many people searching for answers function, it borders on pointless to even show them how. I can't tell you how often I've linked to a page that has the answer they're looking for and their somehow eyes glaze over when they hit the blue underlined portions.

    Is it fair to stick a link to my site here?

    Thanks for you patience.

      I'm puzzled about why people continue to recommend How To Ask Questions The Smart Way.

      Sure, the advice given is accurate. It would be great if everyone took it. That isn't the problem.

      The problem is that the advice is given in a way which guarantees that the purported target audience will never read and take it to heart. But they will take offence.

      This might make sense if your goal is to justify a division of the world into "us" vs "them", where "they" are clearly all idiots. It could well be effective at convincing people that you are a jerk to be avoided in the future. I wouldn't be entirely astounded if ESR had one or both of these goals at some level.

      But it is incredibly ineffective as a technique for positive behaviour modification. It is simply awful as a tone to take in dealing with anyone who might suspect, however accurately and briefly, that they aren't in your "in group". Because the first thing that it does is offend the people that you are talking to. And after being offended, they won't hear anything else that you have to say.

      For more on why people don't learn from being directly insulted and criticized, see What you refuse to see, is your worst trap.

Re: Is this the right way to learn?
by Marza (Vicar) on Oct 16, 2003 at 04:55 UTC

    The only dumb question is the one not asked.

    I don't care how many times a person asks a question. Sometimes a person gets so fuddled over something that the obvious is not always so obvious. Never mind the fact each person learns in their own fashion.

    Also, as it was said breathing fire on somebody does not exactly make them want to stay which in itself is wrong and goes against what the place is supposed to do for people.

    Finally, it may seem those posts are a waste of time. But they could help somebody else who wanders along and does a search. When I was starting out I did find some answers to some very basic stuff. Of course they had many RTFM, RTFD, RTFF replies.

    We shouldn't be concerned with helping the "freeloaders." They do get weeded out eventually.

      The only dumb question is the one not asked.
      True, but only the first time. People often struggle with perl data structures and related syntaxt. Now asking for help on how to get to "bill" in
      $a = [ { a => { b => 'bill', }, }, ];
      is fine once. But seeing that person come the next day and ask how to get to "bill" in
      $a = [ { a => [ { b => 'bill', }, ], }, ];
      is simply not cool. At some point you have to read perldata, perllol ... and learn the syntaxt yourself. Reading is a fundamental way of learning, and if you refuse to read, why should people help you? (you're gonna read their replies anyway, so you might as well read the manual instead, it's where the replies come from)
Re: Is this the right way to learn?
by Anonymous Monk on Oct 16, 2003 at 10:18 UTC

    How about you look at this another way. Instead of looking down upon anyone who asks a question and viewing it as a matter of whether or not they're worthy of receiving your profound knowledge, look at it in terms of what you get out of it.

    By contributing an answer you get your position/suggestion exposed to peer review which in turn can provide improvements. You get "nice guy" credit for helping others learn which enhances your reputation. You get little "experience points" and so forth. Are these things worth your time? If so, then answer. If not, then don't. This is an incredibly simple issue.

    Either way, I suggest you stop viewing people with questions as children who cannot decide their own path.

    You should also consider the irony of your question. It has been discussed thousands of times elsewhere (and probably about 20+ times on this site). It's a Faq.

      You get "nice guy" credit for helping others learn which enhances your reputation. You get little "experience points" and so forth. Are these things worth your time? If so, then answer. If not, then don't. This is an incredibly simple issue.

      To be fair, I'm not sure that that is something that some people may look at as a strong incentive for answering questions. As near as I can tell, those points aren't really public information (I could be wrong, I still need to explore more). As something relative, on one of my home forums, I possess roughly 6388 messages under my name for little over two years there. Does the fact I wrote more than 6388 posts there mean anything? To me, personally, it doesn't mean much, probably that I just write a lot of junk. Do other prople perceive me in some fashion based on my message count? You bet.

      To me, the real incentive is to be a part of a data mine. Nothing pisses me off more than spending hours searching the web for some very difficult to solve problem where the only answers I can find involves something like this:

      Seeker: I have a problem with hardware X causing a crash in software Y when I do Z. Anyone know of a fix?
      Mentor: Have you tried to do A then B then C?
      Seeker: Yeah, but that doesn't work.
      Mentor: I know the answer, try doing D and see if that works.
      Seeker: That doesn't work either, but I finally figured out the problem. Thanks for your help guys!
      Me: WTF?!? What did you do to fix the problem? I've got the same exact problem! Hey! Come back! Please?

      My ultimate goal is to ensure that never happens. If I have an answer for something I know works and/or is correct. I put it up everywhere I can and crosslink it as much as possible. But I still belong in the camp that we shouldn't do other peoples homework for them though.

      Sigh... I'll never be wealthy. Will I?

Re: Is this the right way to learn?
by sunadmn (Curate) on Oct 16, 2003 at 15:47 UTC
    I agree this is not the method of learning I would suggest, even though I am a newbie and have asked for the wisdom a few times without understanding what I was given in return I always attempt to understand without sounding too moronic. I have seen that many of the Anonymous posts are just looking for a quick fix and not a true understanding of the interworkings of the code ( I am to blame once or twice ). I dont think that we should as a community stop giving out code, but maybe make a stronger effort to make sure the person understands what we have done. I dont know though I could be way off here let me know what you all think.

    -Sunadmn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://299429]
Approved by herveus
Front-paged by derby
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2024-04-20 13:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found