7
\$\begingroup\$

On occasion, especially with a couple of specific, inactive users, I'll craft a Jelly answer identical to an existing answer, except for a few byte-saving substitutions that have been added to the language since (stuff like ŒgL€ \$\to\$ Œɠ or ÐĿ \$\to\$ Ƭ for those familiar with Jelly).

While this means that my new answer is often the shortest, it is also not 100% "original", and is somewhat an update of an older answer. Sometimes, it is even in the realm of commenting "[-1 byte](link to my code)" on the older answer, but the answer will never be updated to reflect this as the OP is inactive. In these cases, I'm never quite sure what the etiquette is (and I've asked in TNB with varying degrees of success), so I thought a meta question would be a good idea.

Therefore, in general, what is/should our consensus be:

  • Can we post answers that are very similar to an older answer, but updated to be shorter?
  • Can we post answers which would be better suited as "Saved \$n\$ bytes" comments?
  • Do the answers to these matter/change depending on how active the user is?
  • Does that fact that some improvements are only possible due to language updates matter?
\$\endgroup\$
6
  • 3
    \$\begingroup\$ If the user is inactive on all of SO, then go ahead and post an answer. If they're not, then it is better to add it in as a comment. \$\endgroup\$ – Razetime Dec 26 '20 at 5:09
  • \$\begingroup\$ @Razetime but then how do you define inactive? \$\endgroup\$ – Lyxal Dec 26 '20 at 5:28
  • 4
    \$\begingroup\$ In June, I commented on an invalid (but trivially fixable) answer by a user who had not been active on this site since 2018 nor globally since April and they re-appeared and fixed the answer. Be careful with assumptions based on inactivity. \$\endgroup\$ – pppery Dec 26 '20 at 22:53
  • 2
    \$\begingroup\$ @pppery For this specific instance, I had 2 specific users in mind who have voluntarily suspended activity on the site so there is no chance for one of them to "fix" their answer. While it's not 100% guaranteed in the general case that the answer will never be updated, a lot of the time, it's the most likely outcome, which is what the question is aiming to address \$\endgroup\$ – caird coinheringaahing Dec 26 '20 at 22:56
  • \$\begingroup\$ I'm not sure this is something we need a policy for. Right now, the comments we post to help others golf isn't a policy - rather it is a sort of cultural tradition. I think any of the things you suggest are fine and don't see a problem with allowing people to do whichever they prefer. Is there a specific problem you foresee occurring if we don't make a policy? \$\endgroup\$ – FryAmTheEggman Dec 28 '20 at 2:05
  • 1
    \$\begingroup\$ @FryAmTheEggman The question arose from the fact that I’ve been torn over what is the polite thing to do multiple times before (and have asking in TNB with answers literally ranged from one extreme to another) and I was “pushed over the edge” recently. I wouldn’t so much call any decision from this “policy”, more as a recommended path of action in such cases, and if the accepted answer is “do whatever you want”, then I’ll be fine with that. I’m basically looking for an answer that says “Here’s what’s the best course of action”, and people agree with that \$\endgroup\$ – caird coinheringaahing Dec 28 '20 at 3:19
6
\$\begingroup\$
  • Can we post answers that are very similar to an older answer, but updated to be shorter?
  • Can we post answers which would be better suited as "Saved n bytes" comments?

Yes, of course! Trying to out-score the other players is the whole point of Code Golf. If you can take inspiration from their attempt but add your own "twist" to make it shorter, then you are well within your rights to post a new answer.

Obviously, you must follow our attribution requirements, giving explicit credit to the author of the original answer and including a link back to that answer. But the CC BY-SA license explicitly allows adaptations and remixes, so this should be encouraged behavior.

  • Do the answers to these matter/change depending on how active the user is?

If you feel that your change is relatively trivial and/or you want to give the original contributor a chance to update their answer, you can choose to do so. We don't need an official policy on this, though. Users can decide for themselves whether they want to post a new answer or leave a comment on an existing one. They can also establish their own thresholds for this, whether based on significance of the change, recent activity of the original contributor, etc. From the site's perspective, those don't matter.

  • Does that fact that some improvements are only possible due to language updates matter?

Don't we already have a policy covering that—something like, you have to use the language as it was implemented at the time of announcing the challenge? If not, I think that's a reasonable rule.

Although I wouldn't have any objections to someone posting a new answer that takes advantage of new language features, I think that should always be a new answer, as it should also be treated differently for comparison/scoring purposes.

I know golfing languages are updated frequently, due to their niche purposes, but with mainstream languages, this is already conventional. A C++17 answer is a different entry than a C++11 answer—for the purposes of code golf, they're essentially different languages. I'd say the same would be true if you were exploiting new features added to a language since the challenge. I see no cause to discourage users from doing so, but these submissions become new entries in what is a de facto different language and should not be compared/scored against the original submission.

\$\endgroup\$
2
  • \$\begingroup\$ We used to have a policy that answers in languages that were released after the challenge had to be marked "non-competing", but then abolished it in 2017, if that is what you are thinking of. \$\endgroup\$ – pppery Jan 8 at 19:27
  • \$\begingroup\$ Ah, I suppose that is the policy I was thinking of, @pppery. I did not realize that it had been abolished. \$\endgroup\$ – Cody Gray Jan 9 at 8:37

You must log in to answer this question.

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