20
\$\begingroup\$

Where as

  • The site has stableized (not to stay stagnated) with fairly low activity.
  • There have been from time to time questions that do not meet the requirements in our FAQ but do draw much attention and many answers

Is it time to consider removing or modifying the "objective winning criteria" requirement.

Things to consider

  • Would we need some new or additional definition of a "good challenge". If so, what?
  • Would there still be a way to define the site's scope that wasn't pervertable to make this Stack Overflow Second Chance?
  • How would non-objective question differ from simple popularity contests, or does this not matter
  • ... anything else that comes to your mind ...
\$\endgroup\$
2
  • \$\begingroup\$ BTW--I'm not ignoring the issue, it's just that I have guests in town and much of my time is unavoidably consumed in hosting activities. \$\endgroup\$ Nov 3, 2012 at 2:30
  • 4
    \$\begingroup\$ The requirement doesn't prevent lame questions being asked. It does sometimes make it difficult for question authors to fit the question into the site - especially for code-challenge questions. I don't really like seeing contrived or over complicated criteria provided purely as a means to meet this requirement. \$\endgroup\$
    – gnibbler
    Nov 5, 2012 at 1:04

7 Answers 7

8
\$\begingroup\$

I think the biggest issue is not the objective winning criteria, rather I think it's the narrow definition of this site as a whole. Perhaps the the scope of this site should be expanded, not to replace the rules, but to include more than golf tips, code golf, and programming puzzles.

By the definition of its own name, "Programming Puzzles & Code Golf" does not include challenges where answers are picked collectively by the users themselves or by some subjective winning criteria (judged competitions).

Yesterday, I started the question Hello World in 1024 characters. It was my first day perusing this SE site (and I apologize for not being more familiar with the rules). My first impression was that this site was for having fun with code, first and foremost, and that was what drew me in. My second impression was indeed the lack of participation in many of the questions, as well as the low frequency of new questions being added. In an attempt to stir up some activity, I started a question that I thought was simple enough to tackle in a reasonable amount of time, would include a plethora of languages for diversity, and encourage active gamesmanship while people tried to out-wit each other with creativity.

The problem I see with code-golfing is that not all languages have a chance at winning, leaving a distinct advantage to individuals with particular experience. In addition to this, within whatever language it may be, there is ultimately only one true possible shortest code, and the first person to post it wins. This leaves very little incentive to a vast number of coders to toss their hat into the ring, so to speak.

I do not think there is any doubt for wanting to increase the activity here. I'm fairly certain we would all love to see more new faces, and more of the old ones. By my thinking, the best way to accomplish this is by having questions that inspire the community to post answers, any one of which having the potential to be selected as the winner, instead of intimidating those lesser experienced of us from posting anything at all.

Looking at the answers to my question, it is clear to see that the range of skill is immense, from the spare time hobbyist, to the code-for-a-living professional. Had I posted a challenge that I thought would challenge everybody, I would have left a large portion of skillsets on the doorstep. Conversely, if I had created a moderate challenge that would be geared towards those further towards the "hobbyist" side of the skill-scale, the big dogs would blow it out of the water, which would ALSO discourage lesser experienced coders.

The inherent problems that arise from voted or judged questions are based on the subjectivity itself.

  • The OP may not be familiar with many of the languages he or she is likely to come across, and therefor picks an answer written in their language of choice.
  • The users who are doing the up-voting may not be up-voting based on the intended criteria set in place by the OP.
  • The OP may never even select an answer, and without an objective winning criteria, nobody ever finds out who won.

If we can address these three points, I think we'll be onto something.

\$\endgroup\$
4
  • 4
    \$\begingroup\$ There's a fourth problem which you haven't mentioned: I don't know whether my answer is any good. With a code golf, I can spend two hours coming up with 8 programs which solve the problem, and I know which one of the 8 is the best and how it compares to the ones other people have posted. With a subjective criterion I have to hope that I can get into OP's mind enough to know which one to post, and then I have no idea whether it will win. The motivation changes entirely, and not in a way which fits with the general personality of programmers. \$\endgroup\$ Nov 2, 2012 at 20:59
  • 1
    \$\begingroup\$ Ah, I wanted to comment also on "a distinct advantage to individuals with particular experience". No-one starts code golfing with experience in GolfScript: people who enjoy golfing decide to learn GS. The language is a bit of a red herring. \$\endgroup\$ Nov 2, 2012 at 21:04
  • 1
    \$\begingroup\$ Peter's initial comments are why I have historically supported our tight definition of "objective" in the context of winning criteria, and I am still loathe to give it up, but the site's growth seems badly hung up, so I am interested in hearing alternative takes on how we could be organized. \$\endgroup\$ Nov 3, 2012 at 2:41
  • 2
    \$\begingroup\$ @PeterTaylor: You can post 8 different answers, if you like. Maybe 3 or 4 are sufficient. And I don't believe in a general personality, especially not in programmers. \$\endgroup\$ Dec 19, 2012 at 23:03
6
\$\begingroup\$

I think this site is about three things - programming, creativity and fun.

Any question that offers a good chance to combine the three is, in my opinion, welcome.

There are advantages to requiring an objective winning criteria, mainly because limitations often help provoke creativity. The need to meet a specific challenge forces you think, and you may come up with something ingenious. With objective criteria, you can compare yourself with other answers and see when you need to try harder and outdo them.

However, treating this as an obligatory requirements seems to me too strict.
The real question is whether a question sufficiently limits the solution. A challenge to "write the most awesome program" is surely off-topic, and "Print a line 10 times" is on the edge. But a question that limits the answer enough so that giving a reasonable answer is challenging has the potential get good answers, and is therefore a good question.

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

Since it was this question: Hello World 1024, that garnered this meta question being asked I will address it from the view of this question.

As @ugoren said any question here needs to limit the criteria of answers in some way otherwise the site will become bloated with stuff that is not wanted.

In the case of the Hello World question I would like to point out several things:

  1. The Op specifically set out rules that in-fact made the question challenging for those willing to follow them.

  2. With those rules in mind, I don't see a problem with letting the users decide who the winner is. Obviously the winning answer would have to fall within the rules set out by the Op.

  3. As someone who has used stack-exchange for a while now, this question was the first one that made me actually create a new account on code-golf.se. So that I could 1. Answer the question and 2. upvote other solutions.

  4. The quality of the responses (well most of them) for this question have been outstanding. The C# answer that used the SE API to answer the solution was brilliant! Any question that can garner that type of solution should be within the scope of this site.

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Wrt point 4, I thought it was rather unoriginal. There have been several answers to other questions which worked by retrieving the page with the question. \$\endgroup\$ Nov 17, 2012 at 23:02
  • \$\begingroup\$ @PeterTaylor Oh? I wasn't aware of that. \$\endgroup\$
    – Ryan
    Nov 18, 2012 at 3:36
3
\$\begingroup\$

I'm not an enemy of objective winning criteria. You don't need a voting system to find out, which is the shortest solution.

For very old questions and answers with many upvotes, you can post a new, shortest solution and it will take long, until it climbs towards the top.

Nobody is forced to upvote the shortest solutions, and nobody can be forced to accept the shortest answer.

I enjoy the questions where a creative answer is searched, and I don't participate just to win. It is fun, and I like my answers being upvoted, but I woulnd't learn bf or gs to improve my winning chance. I enjoy to participate.

Creative solution in solving random problems (Pi to 100 places, print 'Hello World', reverse some input, ...) isn't itself a creative question.

But the same way as we reject 'Print 100 digits of PI' if we have a question 'Print 64 digits of PI', we might avoid questions without esprit.

We should try to ask for objective winning criterias, but we shouldn't limit our questions that way.

\$\endgroup\$
1
  • \$\begingroup\$ Learn BF to improve your winning chance? Doesn't learning BF give up your winning chance? \$\endgroup\$ Aug 20, 2020 at 5:10
2
\$\begingroup\$

I feel rather ambivalent about "Hello World 1024". I do love getting votes. But I've done much better work on answers that received no votes at all (often late to the party).

So ... [shrug!]

Perhaps pushing the sports analogy would help. Perhaps a sampling of "non-competitive" questions that are inviting (Invitational?) and fun, and in the other corner, the hard golfs.

At the risk of failing to heed the SO [homework] lesson, what about a [fun] tag which explicitly calls for "relaxed competition criteria" (details TBD).

[I'm not a sports fan and am probably misusing sports terms and concepts.]

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Most of the golfs aren't hard, in that they ask for something trivial which doesn't have enough interesting structure to allow wildly different ways of implementing it. \$\endgroup\$ Nov 6, 2012 at 8:15
  • 1
    \$\begingroup\$ There's an idea. Instead of [fun], what if we call it [trivial]? The word in itself invites exploration of the non-trivial qustions. \$\endgroup\$ Nov 6, 2012 at 8:27
2
\$\begingroup\$

I am definitely in favor of modifying the requirement of having an objective winning criterion. I believe that there are many cases where a programming challenge doesn't need to have a winner. Currently, the goal of many contests is in the form of "write the best program." I believe that a lot of the time, it is possible for the goal be in the form of "accomplish this task," especially if the task is difficult and requires a lot of creativity to complete. This is still a challenge, since it involves programmers trying to do things that they have never done before.

I believe that if a challenge is to have an official "winner," then it needs an objective winning criterion; however, I don't think that all challenges need to have an official winner. I also believe that things can be competitive without being a competition.

\$\endgroup\$
1
\$\begingroup\$

It seems there are two extremes:

  1. very strict objective winning criteria. This means that the answer must have a score based only on the text of the answer itself, like character count. This basically allows very few questions which are not code-golf. The danger is, that at least 99% of the problems will be code-golf, and nearly 100% of them will be won by golfscript.

  2. very lax or no objective winning criteria. This allows for much more creativity, but has a major drawback: it allows questions like "Hey write the most beautiful code in C++, that's all!"

I suggest something in-between. For example, allow high quality and interesting questions where the winner is chosen by some subjective criteria, like number of votes, but it has to specify the criteria very well. This means, there should be constraints what the code must abide and the voters should be encouraged to vote based on how well the code achieves those (even if subjective) constraints. Remember the good subjective / bad subjective debate on stackoverflow?

How else would you host beautiful competitions such as this?

\$\endgroup\$
1
  • \$\begingroup\$ Yes, I see it as a separate category that can and must define its own rules. I see the "winning" part as the obstacle, not the "criteria". \$\endgroup\$ Nov 7, 2012 at 9:37

You must log in to answer this question.

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