In my recent challenge, the task is to generate an output including the language name, and then generate an error (in two different languages).
Regarding the "language name", I used the following rules (since someone mentioned that another challenge was closed due to the "language name" being unclear):
- In the output, language names should exactly follow:
- The name listed on TIO, optionally excluding the version number and/or the implementation name (e.g. if you use
JavaScript (Node.js)
as one of your languages, you can useJavaScript
for your language name, but notJS
orJavascript
.) - The full name on the official website (or GitHub repo) if your language of choice is not available on TIO.
- The name listed on TIO, optionally excluding the version number and/or the implementation name (e.g. if you use
I believe that these rules cover most languages used in PPCG (and a few others on chat said it looks clear enough when this post was in the Sandbox).
But then @Mark asked in the comment:
- What about languages that are too old to have an official website or GitHub repository?
I've got some ideas, but all of them have some amount of ambiguity:
- Submissions on PPCG must have a working compiler/interpreter to run the program on. And the compiler/interpreter should have some name associated with it.
- A compiler often has an implementation name, not language name, as its name (e.g. GCC or Clang for C).
- What if there are multiple implementations and they use different names for that language?
- Just fall back to the most common name (or any common name) for such a language.
- How to define "most common name"?!
- "any common name" could lead to nonsense arguments in order to reduce bytes or something, and this might be an unfair advantage against languages with a well-established name.
- "any common name" is also a problem when e.g. a challenge wants to ban chars used in the language name.
Any possible improvements to the above, or any other suggestions are welcome.