Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: New Section: Challenges

by Ovid (Cardinal)
on Nov 18, 2002 at 22:59 UTC ( #213975=note: print w/replies, xml ) Need Help??

in reply to New Section: Challenges?

This is an interesting idea for a couple of reasons:

  1. Golf sucks.
  2. Golf sucks.

While I'm kidding about golf, I don't think that this is a terribly inappropriate thing to say. Golf is kind of like playing speed chess: it can lead to bad habits. Admittedly, golf can teach one about interesting features of Perl that otherwise may remain unknown, but often those unknown features are unknown for a darned good reason.

Dominus has created the Quiz of the Week which pretty much covers what I think you're trying to do, but I see a couple of pitfalls that he's avoided through a mailing list that we might have trouble avoiding.

One pitfall would be controlling the quality of the questions. Who would post the challenges? Someone might post a challenge of "sorting a file by date", but not clarify exactly what they are referring to. What's the file format? How do we handle bad data? What are the file size limits? What's to be done with the output? Coming up with good specifications is hard, so this could be a problem.

The other problem is that "first post" often leads to "worst post". On the quiz I tried with the Quiz of the Week (finding anagrams), as an experiment I deliberately coded my first try with a "first post" mentality and then sat down and planned out how I would really write the program. My "first post" attempt was so ridiculously slow as to be useless. My "planned out" program was more efficient and, if I saw all of the responses, was the second fastest program in the "beginner" category.

Taking the above into consideration, who sets up the challenges and who judges? How do you prevent the "first post" problem? Perhaps more importantly, who's going to add the new section? None of this is insurmountable, but plan it out. Specifications are hard :)


New address of my CGI Course.
Silence is Evil

Replies are listed 'Best First'.
Re^2: New Section: Challenges
by strider corinth (Friar) on Nov 19, 2002 at 03:51 UTC
    In response to your first two (similar =) points, I think that a section like this would be valuable in fighting the Golf problem you mention. With other kinds of challenges around, competetive spirit could be used to foster better code writing. Challenges needn't be limited to writing short (bad) code. Writing readable or portable code is often more difficult. Different things are learned from each.

    I can see the advantages of a list like Quiz Of The Week, but not just anyone can post to it. That's very key to the goals I have in mind. An important one to me is that theoretical questions somebody actually needs answered could be dealt with, but in an enviroment which lays emphasis on the fun of the challenge. Anybody ought to be able to post, and like every other section, I think posts should be approved and moderated by people who have those abilities based on their level. The standards of what is acceptable would by necessity be different from the others. Standards should be more strict than SoPW, in my opinion, but since judging wouldn't be a terribly formal procedure (see below) it's not something I'm extremely concerned with. Heck... a challenge to write a good challenge (with guidelines as to what that means) would make a good first post to the section.

    (Just as a side note, I could accept an argument that posting challenges should be limited to a certain level, like in Q&A, and for many of the same reasons.)

    As for the quality of responses, those who use and test them would respond based on all the criteria they find important. Encouraging people to take speed, readability, and other qualities into account is something I hope would be encouraged, but everybody has their own idea of what's important, and not all of them match mine. Partly for that reason, the judging system I was envisioning is PM's own voting system. Those who think a particular answer is a good one for the question vote it up. Those who think otherwise abstain or vote down. The "first post" problem is one which probably won't be solved, but which would hopefully at least take a hit from the fact that answers are expected to match the question's criteria, and thus will be more carefully scrutinized. If speed isn't important to the poster, it needn't necessarily be important in the response. If it is, it should be. And for well defined challenges, the first post problem disappears.

    As for adding the new section, I'm not in pmdev, but I'd really like to see this happen. If the idea has general approval, I'm willing to do what's needed to make it happen, as much as is within my ability. If profuse help is going to be necessary (I have very little idea what's involved), perhaps somebody capable will be willing to help me.

    Update: PS: I forgot to mention, but I do intend to put down a specification for this if it seems like it might happen. I already have one in my head (actually two or three possibilities) and they've changed a little as I read your response. Maybe in a day or two I'll post them, when I've heard more people's opinion and had time to think more.
    Love justice; desire mercy.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://213975]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2018-03-22 01:10 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (272 votes). Check out past polls.