21
\$\begingroup\$

status-completed


The Programming Language Quiz was a Cops and Robbers challenge posted 2 years ago, where users were challenged to create obfuscated Hello, World! programs, and others tried to identify the language(s) in which those programs worked.

The post is currently closed to new cops submissions (although new answers can be posted, there isn't really a point), and given that a lot has changed in 2 years, I believe that posting a second iteration of the challenge could lead to some interesting answers, from languages not yet seen. For instance, there are 216 answers (many of which use the same languages) on the current thread, yet we have almost 400 languages available on Try It Online!, all of which need a Hello, World! program to be added.

However, making the task for a new thread identical to the old one could allow some answers to be ported over (something that people weigh duplicates on) and could also allow accidental posting of similar answers to the old thread, which then get cracked easily, due to the old answer being revealed.

Finally, we do have a consensus that reposting questions is allowed under certain circumstances. That discussion is in regard to answer chaining questions, but (in my opinion) can apply to Cops and Robbers challenges as well.

Overall, I see three potential options:

  • Repost The Programming Language Quiz with the same task
  • Repost The Programming Language Quiz with a different, similarly trivial task.
  • Don't repost The Programming Language Quiz

Of course, answers aren't limited to these three options; if you believe you have another idea, feel free to post it!

\$\endgroup\$
17
  • 15
    \$\begingroup\$ I do like the idea of doing this a second time, but that's just because I wasn't around for the first time. If we are going to revive it I recommend a different trivial task, as I don't see any reason for it to be the same one. If the challenge is reposted I also think it should be a community wiki. \$\endgroup\$
    – Wheat Wizard Mod
    Nov 26, 2017 at 20:52
  • 1
    \$\begingroup\$ @WheatWizard Either community wiki, or Martin gets to post it again (if he wants to), in my opinion. \$\endgroup\$ Nov 26, 2017 at 20:53
  • 6
    \$\begingroup\$ @WheatWizard Why should it be CW? (Also, if you do make it CW, all answers will be CW automatically, which isn't great.) \$\endgroup\$ Nov 27, 2017 at 15:57
  • \$\begingroup\$ @MartinEnder Ah I didn't know that answers on CW questions are also CW, that's rather unfortunate. I thought it would be a good idea for it to be CW because it wouldn't really contain any original content, but if answers will be forced to be CW I will have to rescind my suggestion. \$\endgroup\$
    – Wheat Wizard Mod
    Nov 27, 2017 at 16:00
  • 3
    \$\begingroup\$ With TIO available now, it might be very hard to make a safe submission, because TIO makes it easy to brute force executing the same code in different languages until one produces the right output. \$\endgroup\$
    – Laikoni
    Nov 27, 2017 at 22:48
  • 2
    \$\begingroup\$ @Laikoni That just adds to the fun :) \$\endgroup\$ Nov 27, 2017 at 23:21
  • \$\begingroup\$ @Laikoni If we do it, there would be enough time in advance likely for people to make interpreters for any esolangs on the esolang wiki, which would'nt be on TIO. \$\endgroup\$
    – Riker
    Nov 28, 2017 at 3:22
  • 3
    \$\begingroup\$ Another method to avoid TIO bruteforcing is posting an answer requiring more than 60 seconds to be computed. In addition, maybe we could relax the "full program" requirement and allow function submissions, that can't be run directly \$\endgroup\$
    – Leo
    Nov 30, 2017 at 7:53
  • \$\begingroup\$ A problem that might come up is character encoding: one could post an hexdump corresponding to code for Jelly, APL, Husk, Charcoal, etc. that couldn't be recognized even by experts of those languages without trying all possible translations. Could a rule like "post your answer using the main human-readable encoding for your language" work? \$\endgroup\$
    – Leo
    Nov 30, 2017 at 8:04
  • 1
    \$\begingroup\$ @Leo Those questions would most likely come up if and when the actual challenge is sandboxed. This isn't a challenge proposal, it's "should we have a challenge proposal". \$\endgroup\$ Nov 30, 2017 at 16:05
  • \$\begingroup\$ So, it looks like support for this proposal is unanimous. Time to sandbox it? \$\endgroup\$
    – DLosc
    Dec 4, 2017 at 4:40
  • \$\begingroup\$ @DLosc Do we have a task decided on? If so, then sure, Sandbox it. \$\endgroup\$ Dec 4, 2017 at 7:31
  • \$\begingroup\$ Looks like there's support for the "print numbers from 1 to 100" proposal by @Leo. My hesitation is, who should sandbox/post it? Leo? You? Me? Martin? \$\endgroup\$
    – DLosc
    Dec 11, 2017 at 21:03
  • \$\begingroup\$ @DLosc I've asked Martin, and he said that one of us should do it (me, you or Leo), and I think that either you or Leo should be the one to write up the post. \$\endgroup\$ Dec 11, 2017 at 22:02
  • 1
    \$\begingroup\$ Sandbox post is here \$\endgroup\$
    – DLosc
    Dec 15, 2017 at 10:31

1 Answer 1

34
\$\begingroup\$

Revive it, with a different task

I would enjoy a Programming Language Quiz Mark II. To keep things interesting, the task should be different.

I suggest a task involving simple integer math, which will 1) allow languages to compete that don't have good string support, and 2) prevent another flood of unintended Foo cracks.

In my opinion, it would be best to choose a task that doesn't involve user input:

  • It's much easier to check the correctness of a solution to a fixed-output problem. Taking input requires verifying multiple test cases.
  • Input methods and formats vary between languages. If the task required input, we would have two options:
    1. Require a specific input format. Inevitably, this would prevent some languages from participating.
    2. Allow a variety of input formats. Each submission would have to specify what format it uses. This clutters the submission and might make it easier to guess the language.
  • Some esolangs can't input decimal numbers, or have trouble with numbers over 255, or don't have input at all.
\$\endgroup\$
9
  • 16
    \$\begingroup\$ Please, not another Fibonacci question. \$\endgroup\$ Nov 27, 2017 at 8:13
  • 3
    \$\begingroup\$ I agree with Peter. The task should be simple enough that it can be done in a wide variety of languages and doesn't overshadow the point of the challenge, but not something as overdone as primes, Fibonacci, and the like. \$\endgroup\$
    – user45941
    Nov 27, 2017 at 8:57
  • 4
    \$\begingroup\$ Collatz might work. It's also been done a lot, but not nearly as much as Fibonacci or prime checking, and it covers both (variable-length) iteration and branching while remaining very simple (so as not to rule out hard-to-use esolangs). \$\endgroup\$ Nov 27, 2017 at 15:59
  • \$\begingroup\$ @PeterTaylor et al: Fibonacci was just the first thing that came to mind; other ideas are certainly welcome. \$\endgroup\$
    – DLosc
    Nov 27, 2017 at 20:22
  • \$\begingroup\$ Add two numbers? Multiply two numbers? \$\endgroup\$
    – MD XF
    Nov 28, 2017 at 3:15
  • 4
    \$\begingroup\$ @MDXF I don't think a task that requires input is a good idea. I've edited to more fully explain why. \$\endgroup\$
    – DLosc
    Nov 28, 2017 at 4:05
  • \$\begingroup\$ I think the sequence of palindromes would be a good choice. A002113, or maybe generate all palindromes, but not necessarily in that order. \$\endgroup\$
    – mbomb007
    Nov 29, 2017 at 15:40
  • 14
    \$\begingroup\$ What about a simple "print numbers from 1 to 100"? Easy, no input, no strings (unless you really want them), can be done in more than one way \$\endgroup\$
    – Leo
    Nov 30, 2017 at 7:55
  • \$\begingroup\$ @Leo Maybe unary output for languages that don't handle integer output well? \$\endgroup\$ Jan 6, 2018 at 0:14

You must log in to answer this question.

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