9
\$\begingroup\$

is a hard tag to create questions for. Its hard balance between vagueness and broadness. What are some good examples that other challenges should seek to emulate?

\$\endgroup\$
  • 1
    \$\begingroup\$ I would have thought the top voted PC challenges would have been a good place to start, no? \$\endgroup\$ – Shaggy Jun 12 '17 at 13:57
  • 1
    \$\begingroup\$ The tag info also does a good job of describing good popularity-contest challenges. \$\endgroup\$ – totallyhuman Jun 12 '17 at 14:00
  • 9
    \$\begingroup\$ @Shaggy I think the top voted popcon challenges is actually a terrible place to start. Most of them are old popcons which are just along the lines of do x creatively. Part of the reason we get so many terrible popcons is becuse people emulate these challenges. \$\endgroup\$ – Sriotchilism O'Zaic Jun 12 '17 at 14:03
  • 1
    \$\begingroup\$ Perhaps start with the newest challenges in popularity-contest and ignore all [on hold] and [closed]. Also emulating past pop-cons is usually a bad idea. Use the sandbox and discuss your idea thoroughly. \$\endgroup\$ – flawr Jun 12 '17 at 19:26
  • \$\begingroup\$ Since it's difficult to get agreement on whether a given popularity contest is good, or even on topic, I've offered a 500 bounty for a solution to all the disagreement. \$\endgroup\$ – trichoplax Jun 25 '17 at 22:57
3
\$\begingroup\$

The best fit I've seen for recently is this challenge. It's a challenge, but the aim is to find the most appropriate way to work an interesting property into the language. That's something that's a) very difficult to define objectively, b) will have a reasonable consensus upon voters when defined subjectively, c) is nonetheless clearly in the general topic area of programming, with programming and language design skill being very relevant, and d) is likely to be close to the vote counts that the posts would "naturally" get if the challenge didn't have a win condition.

This allows us to extrapolate as to what would make a good popularity contest in general.

The first thing to note is that the victory condition you'd "actually want" has to be close to the typical uses of upvotes, or else you'll get mixed results as some people vote the way you want and some people don't. In particular, you must therefore be looking for elegance, humour, appropriate language choice, golfiness (to a small extent – this is better measured objectively), unreadability/obfuscation, or good explanations. (Note that the reason voting as a sorting criterion works fairly well on many other Stack Exchange sites is that "good explanations" are the "victory condition" there. Even here, has a sort of inherent "popularity contest" victory condition, except when it's asking for tips for improving a specific piece of code, which can be more objective.)

Another thing you want to make sure of is that the challenge is still ontopic for the site. If there were a challenge "write code that draws a pretty image", would clearly be the best possible victory criterion. That doesn't make the challenge a good popularity contest, though, because it's a bad challenge, and giving it an appropriate victory condition won't change that. It's important to pick a topic for which writing a popular answer will take skill (especially programming skill), and where the subject matter isn't too far from the sort of subject matter normally covered on this site.

Finally, is a poor victory condition if you're looking for something that can be measured objectively. That's why we don't normally use it for golfing challenges. (We could, I guess – it'd certainly make competition between languages more fair – but it runs into the problem that even in the same language, a better solution submitted later may well end up with fewer votes than a worse solution submitted earlier, so comparing within each language objectively works better.)

\$\endgroup\$
  • 4
    \$\begingroup\$ To the contrary, I think the unknown completeness language challenge is an example of how pop cons go poorly. Most of the answers are boring clones of "start with a complete language, test a conjecture, and disable a key feature if it fails". The challenge author didn't get the interesting answers they'd hoped for even after posting a bounty. Votes seem arbitrary and unconnected with the target criteria. Multiple invalid and now-deleted answers were voted up. \$\endgroup\$ – xnor Jun 12 '17 at 21:28
  • 2
    \$\begingroup\$ @xnor: The problem there is basically that the challenge is really difficult to make a good answer for. I have an answer in mind (which I feel is better than all the existing answers) but still haven't proven that it meets the validity criteria. In other words, this is going much like a really difficult code-golf puzzle normally goes. \$\endgroup\$ – user62131 Jun 12 '17 at 21:30
  • \$\begingroup\$ How to make a turing complete language: does it have signal? Can that signal be inverted? Congrats, its turing complete. AND, OR, XOR, NAND are all buildable with NOT gates. Everything else is buildable from there. For god's sake we've proven that bleeding Conway's Game of Life is turing complete. \$\endgroup\$ – Draco18s Jun 13 '17 at 18:03
  • 7
    \$\begingroup\$ @Draco18s: That's not true, something like Not The Main Worb can implement AND/OR/XOR/NAND but isn't Turing-complete because it only has finite amounts of storage. Also, NOT isn't even enough to build AND, as nothing forces the program to have functions with multiple arguments. Please don't spread misinformation about Turing-completeness. \$\endgroup\$ – user62131 Jun 13 '17 at 23:04
  • \$\begingroup\$ @ais523 Yes, that is true. You need to be able to store the data as well. \$\endgroup\$ – Draco18s Jun 14 '17 at 2:15

You must log in to answer this question.

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