19
\$\begingroup\$

My question Just Another Polyglot Hacker! was marked as a duplicate of Write a polyglot that prints the language's name. Now, our scoring rules are completely different. Why are they considered dupes?

\$\endgroup\$
  • 3
    \$\begingroup\$ Define completely: although with different scales both essentially weigh "number of languages" over "code length". \$\endgroup\$ – Howard Dec 31 '13 at 16:16
40
\$\begingroup\$

I think it's a bit unfortunate that this question was asked in the context of two rather similar scoring systems and is now used as a reference on community consensus.

I agree with the existing answers, that a question is a duplicate if answers from an old one can be reused on the new one. However, what all of them neglect (and what I think is a very important caveat to that rule of thumb): I think for the new challenge to qualify as a duplicate, those old answers also have to be competitive.

In the example of this question both challenges were about a mixed scoring between number of languages and code length. But take for example two identical challenges, where one is and one is . Competitive code golf answers are likely to be brute force solutions, or written in things like GolfScript, which are notoriously slow. Competitive fastest-code answers likely contain a lot of code for clever optimisations and are written in fast but more bloated languages like C(++) or Java. Hence, while answers to either challenge would be valid on the other, there's little point in using one for both of them.

So here is what I think our policy should be: when we assess whether a challenge is a duplicate of another, we should ask ourselves "Can answers from one question be copied over to the other with little or no modification and still be competitive?" In particular, most tasks should make for completely different challenges if posed as fastest code or code golf, but I'm sure there are other combinations, where a change in scoring system can make a significant difference.

\$\endgroup\$
  • \$\begingroup\$ If the author wants to protect against non-competitive entries, then the author has objective ways to accomplish this, such as enforcing a maximum time limit, maximum code length, etc. Rather than attacking noncompetitive (but still valid) answers, a better solution might be to edit the challenge to restrict non competitive answers. I think that this follows the Stack Exchange practice of "protecting" a question so that newbies don't post a bunch of garbage. \$\endgroup\$ – Rainbolt Jul 22 '14 at 19:37
  • \$\begingroup\$ @Rainbolt I'm not talking about someone who is trying to post a valid answer but just "isn't good". I'm talking about someone literally copying over an golfed answer into a fastest-code challenge. That's just showing no effort at all. I don't mind removing that point from my answer though... that's not the important message. \$\endgroup\$ – Martin Ender Jul 22 '14 at 20:14
  • \$\begingroup\$ Interestingly, meta.codegolf.stackexchange.com/a/781/9498 is basically what you are saying: The question is a duplicate if good entries for one challenge are good entries for another challenge. \$\endgroup\$ – Justin Jul 22 '14 at 21:26
  • 1
    \$\begingroup\$ @Quincunx Yes, that what he says at first, but then he turns it around (after the horizontal rule) and says that only the "requirement for rigorous correctness" is sufficient and a different winning criterion isn't. \$\endgroup\$ – Martin Ender Jul 22 '14 at 21:54
  • \$\begingroup\$ It seems that there's a way to interpret this to justify closing pretty much any answer: see the comments to this question. We might need another definition that makes it clearer what does and doesn't count. \$\endgroup\$ – user62131 Mar 30 '17 at 16:55
  • \$\begingroup\$ This is very well-stated and I'm now sold on this policy as well. To be clear in my interpretation, does that mean codegolf.stackexchange.com/questions/115516/… could not be reposted with the criteria of a restricted set of acceptable languages, and moved over to atomic-code-golf with operator count as the criteria? I felt strongly that it would be an acceptable new challenge before reading this, now I'm not so sure given that some of the answers currently there are both competitive and valid under those new rules. \$\endgroup\$ – Jason C Apr 6 '17 at 15:24
  • 2
    \$\begingroup\$ @JasonC It's always a somewhat subjective call, and my policy above is mostly meant (and used) as a guideline for close voters to decide whether they should use their vote or not. Since there are many answers that already consist only of a handful of operations, it would probably not be a substantial change. If, on the other hand, you restricted it to bitwise operations only for example, it could change things considerably (I'd have to go through to see if there are any such answers right now, though). \$\endgroup\$ – Martin Ender Apr 6 '17 at 15:28
  • \$\begingroup\$ I'm just going to try it and see if it floats. Worst case I have a regrettable scar on my activity tab and a lesson learned. \$\endgroup\$ – Jason C Apr 6 '17 at 15:43
  • 3
    \$\begingroup\$ @JasonC You can always post it in the sandbox first to get some feedback up front. \$\endgroup\$ – Martin Ender Apr 6 '17 at 15:44
9
\$\begingroup\$

The criteria I like to apply (and this is not by any means official rules) is one regarding the answers to the question:

If answers can be copy/pasted from one challenge to another (with minor modifications), then the two challenges are too similar, and the new one can no longer be considered novel enough to pose a challenge.

\$\endgroup\$
  • 4
    \$\begingroup\$ Generally, this is agreeable. However, one must also add the condition that answers would be equally scored in both questions. That is: The winner for one challenge would also be the winner for the other, second place would be second place, third would be third, etc. Minor deviations may be small enough to still claim duplicates, but if at the very least the winner would be different then the challenges are fundamentally not quite the same. \$\endgroup\$ – Iszi Jan 22 '14 at 17:58
  • 1
    \$\begingroup\$ @Iszi but that fundamentally undermines what makes a question novel, as it would simply promote a new winner. The challenge must be answered in a new and novel way for me to count it as not duplicate. \$\endgroup\$ – Tyzoid Jan 23 '14 at 22:11
  • 1
    \$\begingroup\$ @Tyzoid I think a question can be novel by simply using a different win condition. For instance, compare codegolf.stackexchange.com/questions/12824/… and codegolf.stackexchange.com/questions/27041/pathological-sorting While a pathological sorting algorithm is a sorting algorithm, and therefore all answers to the latter question would be valid on the former, it is definitely not a duplicate. \$\endgroup\$ – isaacg Jul 27 '14 at 6:46
9
\$\begingroup\$

Like so many things on CodeGolf, it depends.

The question to ask is "Are good entries for one challenge good entries for the other?" If the answer is yes, then I would consider them to be duplicates even it the change in scoring would change the "winner".

If the Answer is not, then you clearly have a different challenge.

Sometimes the answer will be "Well, uhm, ... you see ... hmmm, maybe?", which is a hard case.

Taking advantage of the sand box would probably help you to ensure enough difference to satisfy.


To this particular pair I'd say that the possibly significant difference is in the requirement for rigorous correctness. The scoring difference is a quibble and would not qualify them as distinct to my mind (moderator hat very much off).

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

I 'test' for duplicates in the manner described in the other answers, that is, if two questions can be answered by the same response they are duplicates. In this case there was a distinct difference (IMO) because the requirement for the later question was only tangentially (e.g. in case of a tie) related to golfing, and was focused primarily on number of languages, whereas the other question focused on golfing more. This is not an arbitrary difference because it inherently allows for some more wordy languages to be used (e.g. Java), making answers to the new one potentially more multifarious in their language use. This is however ambiguous in the test for originality because while a response to the earlier question would a good response to the later one, the reverse is not necessarily true. In essence the answers to the first question can be considered a proper subset of the possible answers to the second. Therefore, in this case I wouldn't consider them duplicates, but I wouldn't consider the later question wholly original either.

\$\endgroup\$

You must log in to answer this question.

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