Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

The PerlMonks algorithm

by gmax (Abbot)
on May 04, 2002 at 13:45 UTC ( [id://163993] : perlmeditation . print w/replies, xml ) Need Help??

Dear fellow Monks,
It’s been a long way since I joined PM. Not so much in time measurable steps, but in terms of my Perl maturity.
When I started attending the site, I had the feeling of being quite low in the programming evolutionary scale. However, continuing to stick around, and increasing the usage of Perl for my admin tasks, I realised that my programming experience could not only adapt to Perl but also be enhanced somehow.
What I noticed was also a trend toward more self discipline in my code. Whenever I write an important piece of code in a less than orthodox way, I catch myself thinking, “What would the PerlMonks say if they could see me coding this lousy shortcut?” and then I would resort to more established practice, making my code more robust in the process.

During these months, it has happened to me several times that when I could not solve a problem, I started writing a request for help to the Monastery. But before posting, I went to the recommended routine: use strict and warnings, check the FAQs, check the Monastery itself, and do some testing on your own. You know, the usual checklist. Almost always, after this exercise, I found the answer without posting. Either I found out that I was reinventing the wheel (higly un-popular sport, I have heard) or I was making a well-documented mistake, or an isolated test would show the error straight away.
Anyway, the very process of preparing a request for submission has given me the answer most of the time. I assume that this is the result of becoming more experienced in the community. I try to anticipate the behaviour of the other Monks, and so doing I can reach a solution without even bothering anyone.

Therefore, the rules for posting a request in the Monastery are also a method to find a solution. A step-by-step procedure to follow if you want to get to the bottom of your riddle. The PerlMonks algorithm for problem solving.

The Monastery is encouraging this behaviour by gently (not always, but, well, we try!) RTFMing the offending newcomers and by rewarding the ones who go through these steps, thus increasing the likelihood that the complying Monks find a solution by themselves and spread the good habit.
It's a mix of learning and self-discipline. This latter is not the kind of imposed behaviour achieved by flogging the offenders, but the reghteous self control that a mature person achieves when exposed to a stimulating environment.
I would like to congratulate all the Monks for keeping the PM engine spinning.
 _  _ _  _  
(_|| | |(_|><

Replies are listed 'Best First'.
Re: The PerlMonks algorithm
by cjf (Parson) on May 04, 2002 at 15:19 UTC
    What would the PerlMonks say if they could see me coding this lousy shortcut?

    Use my method, post it and find out ;-).

    Seriously though, a short post in Code Catacombs is a great way to get input on your code. After incorporating other people's suggestions into the code, I've often found it has vastly improved and I've learned great deal more in the process than I would have if I just tried to improve it myself.

    Either I found out that I was reinventing the wheel (higly un-popular sport, I have heard)

    It's one of my favorite sports actually, far ahead of golf :). If you haven't already, take a look at Re-inventing the wheel is a 'Good Thing'.

Re: The PerlMonks algorithm
by jeffenstein (Hermit) on May 06, 2002 at 09:37 UTC
    I heard a story once about a computer lab in a university. Perhaps it's urban legend, but I'll repeat it here anyway.

    The instructors had placed a stuffed bear near their desk in the lab. Before a student could ask the instructor a question, the student must explain the problem to the bear. Nine times out of ten, the student would see the problem while explaining it to the bear, and not need to ask the instructor.