Over the past couple weeks, I've noticed a marked increase in a number of posts that simply give an all-code solution to a question, often with a comment like "Do you want something like this?" or "If you substitute your sub foo for mine, it'll work", with very little explaination about what's going on, and why.

Something similiar to this came up this morning: a new monk posted a fairly simple question, stating that he was new, and learning Perl, and within minutes an all-code post had popped up.

This is great from the OP's PoV - he gets the solution he needs, no thinking, just cut-paste and all's go. It's not helping him, though, in the long run. He hasn't learnt anything, he maybe doesn't understand why the code does what it does, and why it works for his scenario, and how he could implement those new ideas into his code in the future.

This seems to be increasingly leading to a situation where strings of very similar questions are posted, all of which attract similar all-code replies, that are of very little future use either as reference when the question is asked again, or to people trying to master or improve their Perl, using PerlMonks as a support forum. I can't help but think that this is ultimately damaging to the Monastery as a knowledge base as a whole.

I don't know if other people feel the same way about this, and I'm certainly not saying that people shouldn't post all-code replies - but please, could people take time to think about the learning potential of what it is they're writing, and at least comment that perfect solution before they click 'Submit'? It seems to me that this can only be beneficial to everyone in the long-term, from those reading the post and trying to improve themselves, to those Super Searching to try and find an answer to a similar problem six months down the line.

What do others think? As I say, this is something I've noticed over the past couple weeks that didn't seem to take place as much when I first joined (not so long ago *grin*). Do people see it as a problem, or a potential problem, long-term?

-- Foxcub
#include www.liquidfusion.org.uk

Replies are listed 'Best First'.
Re: Learning in the Monastery
by Ovid (Cardinal) on May 20, 2003 at 15:26 UTC
    I've noticed a marked increase in a number of posts that simply give an all-code solution to a question.
    if ($code->self_documenting) {
       undef $question;
    }
    elsif ($code->isa($answer)) {
       learning_experience(259446);
    }
    else {
       die $newbie; # ;)
    }

    Cheers,
    Ovid

    New address of my CGI Course.
    Silence is Evil (feel free to copy and distribute widely - note copyright text)

Re: Learning in the Monastery
by adrianh (Chancellor) on May 20, 2003 at 13:30 UTC

    I don't see it as a real problem. While there are all code answers, there are also ones with a fair amount of text too. I think the mixture is a good thing.

    Not everybody learns the same way. I've known some people where a chunk of code is to be preferred. They find the process of figuring out what the code does the best way of learning, rather than having it explained to them.

Re: Learning in the Monastery
by halley (Prior) on May 20, 2003 at 14:29 UTC

    I'm not sure if I've consistently followed my internal advice myself, but whether it's PerlMonks or other communities, I try to stick to it.

    I tend to give newcomers more literal answers that fill their immediate needs, while I try to discuss and illuminate a bit more for "members" of the community.

    The anonymous monk or other transient guest may have heard of PerlMonks only a few minutes ago because of google or a friend's mention, and has a burning question that perldoc hasn't already answered (or they don't yet know of perldoc). They want to cut-and-paste and move on.

    Once they like the answers they've received, the guests sign up and become a regular visitor. After they're regulars, they can be shaped, molded, or taught. Before this point, you may just be wasting their time with trivia (from their viewpoint).

    --
    [ e d @ h a l l e y . c c ]

Re: Learning in the Monastery
by artist (Parson) on May 20, 2003 at 15:46 UTC
    Why providing code is a good thing.
    • Monks see that as a challange.
    • It helps monks to convert their own problem abstractness into code
    • As Halley pointed out, we are clearly winning more hearts towards perl and perlmonks community with this appraoch. You can clearly see that with the number of new monks joining daily.
    • Abstractness always leads to different view points and people seems to enjoy it.
    • People see our site in various lights rather than just collection of wise people who happen to know Perl. See About Perlmonks: How would you describe PM? for different views.
    • The real work is 'code'. We at perlmonks have shown collective expertness providing efficienct code. Undersanding however valuable, is the software of mind. Most people including your boss will be happy to see working code more v/s documentation describing your understanding and questions and doubts about the project.
    • Understanding develops over the time. Direction of what to understand is a special phenomenon. Understanding is developed in the direction only when/where, there is promise of better real world experience. By providing code, we help them to point to a direction for understanding perl and perlmonks.
    artist
    ===============================================
    Beautify your existence
Re: Learning in the Monastery
by Popcorn Dave (Abbot) on May 20, 2003 at 16:04 UTC
    You've made a good point, but as others have said, sometimes people just want/need a quick solution and the code snippets fit that bill.

    That said, there's nothing that prevents those same people from coming back and saying something along the lines of, "Thanks, that did the trick. Now can you explain this part to me because I don't see what's going on."

    There is no emoticon for what I'm feeling now.

Re: Learning in the Monastery
by Skeeve (Parson) on May 20, 2003 at 14:18 UTC
    Agree, but if you meant this question, tell me: What should I (as an example) have told him? He provided us with very few information and if it was as easy as that, my answer was the best I could think of at that moment.

    I also prefer more elaborated answers which provide a bit of background how the algorithm works.

Re: Learning in the Monastery
by Limbic~Region (Chancellor) on May 20, 2003 at 22:26 UTC
    Foxcub,
    I think the effort put into the problem is directly proportional to the solutions provided - as a rule. Personally, I will spend a heck of a lot more time on a post by Anonymous Monk explaining every single line of code if the monk has clearly demonstrated they are a beginner, but has taken the time to give me all the information I need to answer the question in a way that that is conscise with all ambiguity removed.

    If it is coming from a registered user and it looks like beginner work, I will check out how long they have been at the Monastery. I will not only provide what I think is a solution, but I will also welcome them to the Monastery, point them to the FAQ sites, etc. You will quickly find those that want to learn and grow and those that just want the answer to there question now damn't - and don't listen to what you have to say.

    For the experienced monk - the one who's code in the question reflects their level of expertise - I tend not to insult them by explaining my solution. I will usually assume that this monk knows more than me and will be able to look at what I have provided as something to start from - a known good - and work from there making it better.

    And then - there is always the ability for the OP to ask for clarification.

    Those that want to learn will find a way - those that don't won't.

    Cheers - L~R

Re: Learning in the Monastery
by greenFox (Vicar) on May 21, 2003 at 06:13 UTC
    I tend to follow dws around he seems to be the master of the thought provoking response. As he says here:

    "When someone presents a "do my homework for me" question, particularly if they show no evidence of any effort on their part, please resist providing a direct answer. Instead, provide pointers, hints, and suggestions, and let them work to solve the problem themselves. Teach, don't solve. "

    Good advice really.

    --
    Life is a tale told by an idiot -- full of sound and fury, signifying nothing. William Shakespeare, Macbeth