5
\$\begingroup\$

The code-challenge blurb states:

A code challenge is a competition for creative ways to solve a programming puzzle for an objective criterion other than code size.

The FAQ states:

All questions on this site, whether a programming puzzle or a code golf, should have …

  • An objective primary winning criterion, so that it is possible to
    indisputably decide which entry should win.

However, it seems that almost every code-challenge question has a win condition of, as Briguy37 put it, "The most creative code wins!!! In this case, creativity will be measured by votes."

Personally, I love the answers that come out of these questions - people providing interesting bits of code, instead of just min/maxing their way to an unreadable golfscript - but that's just my opinion.

I created this question to ask: should the FAQ and code-challenge blurb be changed so as not to require some sort of win condition beyond meeting the conditions set forth in the question, and winning the vote of popular opinion among their fellow coders?

If the answer is no, then we should probably come up with a boilerplate version of Briguy37's win condition for people to easily paste into their questions.


Edit: I've been browsing through a batch of related questions, such as What makes winning criteria "objective"? and A Modest Proposal: the [popularity-contest] tag, and it looks like other people have observed the pull between the golf and the entertaining code as well.

No matter what the theory was when people were writing the FAQ and coming up with rules, the fact remains that the de facto rule of code-challenge questions is: a lot of people want to write/read interesting code solutions, and not have to come up with some tacked-on win condition.

\$\endgroup\$
5
\$\begingroup\$

Popularity contests are not "objective". It then becomes a people-pleasing contest, rather than fulfilling some useful objective criteria.

Personally I prefer that small code size should be the only criterion ("code golf"), but not everyone wants to post code golf, so the "objective criterion" criterion is to allow other kinds of contests to work, but still not turn into a popularity contest.


ETA: I wanted to address the whole "tacked-on win condition" you mentioned at the end. To my understanding, the point of this site is to have coding challenges that are more meaningful than (subjectively) "interesting", and so objective criteria are not a "tack-on", but the whole purpose of the question.

So, I should give you some context as to why I'm so adamant about the "objective" requirement. (Though, in this context, I'm speaking as a user, not a moderator.)

I was one of the earliest users on Stack Overflow, and back in those days, the beta users had a lot of room to shape the culture of the site. One of the things that quickly surfaced was that a certain category of posts got a lot of votes. I called those posts "popularity posts". They involved things like "What's the funniest programming cartoon" and stuff like that.

The problem is, they're popular because they are "soft" stuff---they don't require any real programming knowledge. And it's totally unhelpful for a site like Stack Overflow.

The problem with encouraging "popular" questions (to the exclusion of real "non-soft" questions) on Programming Puzzles & Code Golf is that you don't learn any techniques from them. "Elegant" or "creative" are not techniques. How to make the shortest or fastest code are.

One of my favourite puzzles actually comes from The Art of Computer Programming, where you're called upon to write the fastest MIX/MMIX implementation of the Easter calculation algorithm. The point of specifying the architecture (MIX/MMIX) in this case is to make the notion of "fastest" indisputable---anybody can reproduce how long it takes to run such a program under MIX/MMIX.

Of course, while the idea of making everything objective is nice, in practice we run into difficulties---for example, many users just upvote without verifying the answer (but if we only upvote answers we can verify, then obscure languages get disadvantaged). This remains an open problem, but I feel a solution has to come from the place of making better ways for users to verify solutions---and not by dodging the "objective criterion" policy.

Okay, I've rambled on enough. :-)

\$\endgroup\$
  • 1
    \$\begingroup\$ I think a lot of those "soft" programming questions now find a home at programmers.se. Personally, I have no interest in golf code, but I am interested in seeing cool problems/solutions - and it seems that at least some amount of other people who stick around this site find them interesting as well. I propose that we acknowledge these "subjective" questions people are currently asking/answering, by editing the FAQ. \$\endgroup\$ – TehShrike Aug 31 '11 at 21:07
  • \$\begingroup\$ @TehShrike: I'm not convinced that endorsing subjective questions unconditionally is a good idea, because that would encourage far more subjective questions than there currently are, and as I mentioned, I don't believe that's what this site's about. I know that dmckee (another moderator on this site) has a slightly more nuanced notion of what sorts of puzzles are good (see his king-of-the-hill proposal, for example), and maybe between him and you, you could find a way to articulate the kind of subjective questions that would be useful for this site. I'd aim to err on the conservative, though. \$\endgroup\$ – Chris Jester-Young Aug 31 '11 at 22:48
  • 1
    \$\begingroup\$ I wonder if it would make more sense to have a clickthrough / EULA page here that explains a bit more about how to have a proper question on this site with proper "win" conditions and rules.. \$\endgroup\$ – Jeff Atwood Sep 3 '11 at 14:08
4
\$\begingroup\$

This specific issue is no longer a problem; with the creation of for "most votes wins", is now pretty much being used only as intended.

The tag itself has some issues, but they're unrelated to misuse of the tag.

\$\endgroup\$
3
\$\begingroup\$

I've just gone through the first page of . Out of 15 puzzles, 5 are also tagged ; two have other objective or intended-to-be objective winning criteria (respectively ratio of output to input; and algorithmic complexity); three have subjective winning criteria; and five have no winning criteria at all.

All five of those which have no winning criteria, and two of the three with subjective criteria, date from the early days of the site (no later than March). The only recent question which has a subjective criterion is Creative Programming; I would say that it's a case where We need more discipline and down-votes applies.

\$\endgroup\$
  • \$\begingroup\$ That's a good observation on the dating of the subjective problems. I think many of the people who would be interested in programming puzzles have already left, leaving us with just those who are interested in code golf. It may be too late, but I would like to see a place for those interested in the solving, besides just the code-size optimizers. \$\endgroup\$ – TehShrike Sep 1 '11 at 11:41
  • 1
    \$\begingroup\$ @TehShrike, what kind of puzzles which are about the solving rather than the optimising work in a forum where all answers are publicly visible and one is supposed to be chosen as the best? \$\endgroup\$ – Peter Taylor Sep 1 '11 at 12:11
  • \$\begingroup\$ That's the point - if the only goal is to find an objective "best" then you don't get any of the "cool" or "fun to read" or "elegant", as those are all fairly subjective (though many people may agree on one answer). \$\endgroup\$ – TehShrike Sep 2 '11 at 3:50
  • \$\begingroup\$ per my comment to Chris on the other answer here, would it make sense to have a mandatory EULA on question ask here, sort of like we do on Stack Overflow? \$\endgroup\$ – Jeff Atwood Sep 3 '11 at 14:09
  • \$\begingroup\$ @Jeff, I think it would be more useful to have a reminder sentence just above the "Post Question" button. Or perhaps a rename to "Programming Competitions and Code Golf". \$\endgroup\$ – Peter Taylor Sep 3 '11 at 22:07
1
\$\begingroup\$

I guess puzzles asking for creative solutions should have an objective puzzle to solve.

Telling a story in the code is a nice exception but only works one time. There was another creativity question about the 400th Question which had an objective challenge to solve in being exactly 400 bits long.

The number of upvotes is a better measurement to make somebody the winner than whether it is your friend or not the competitor for being the king of the site. It should be clear, that this is the criterium to decide which answer is accepted, and a description, why somebody should be upvoted, should be given. (Surprising solution, elegant solution).

If you don't like such puzzles, don't partizipate. If they appear too often, vote them down, and reactivate this thread. :)

\$\endgroup\$

You must log in to answer this question.

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