Originally on this challenge I banned built in matrix functions but people complained about it. I then removed the ban but there were few interesting answers given and some people complained and said there should be no built ins.

So what should I have done? In my opinion, I am for banning built ins because if your language has a function that will perform the task easily, there is no motivation to make your answer interesting.

  • 11
    \$\begingroup\$ Stop banning builtins has 81 for and one against. It's not a consensus but it is a hard plurality. \$\endgroup\$
    – Wheat Wizard Mod
    Commented Jul 19, 2018 at 18:01
  • \$\begingroup\$ @WW But how do you stop what may be an interesting challenge from being trivial then? \$\endgroup\$
    – Beta Decay
    Commented Jul 19, 2018 at 18:03
  • 5
    \$\begingroup\$ From the answer: "If you’re compensating for how your own challenge is too simple, then this won’t save it". \$\endgroup\$
    – Wheat Wizard Mod
    Commented Jul 19, 2018 at 18:04
  • \$\begingroup\$ @WW What if isn't simple without built ins? \$\endgroup\$
    – Beta Decay
    Commented Jul 19, 2018 at 18:15
  • \$\begingroup\$ Specific to your question, why not ask for the matrix of cofactors? In most languages this would not be a builtin, and those that have it may be interesting simply because they do. I think the problem here is asking the wrong question, ask specifically for the "not simple" part and then built ins are rarely a problem, imo. \$\endgroup\$ Commented Jul 20, 2018 at 5:36
  • \$\begingroup\$ @FryAmTgeEggman Huh, that would be more interesting... :/ \$\endgroup\$
    – Beta Decay
    Commented Jul 20, 2018 at 9:53
  • \$\begingroup\$ Another point of consideration is that in some languages, like APL, just about everything in the language is built around array and matrix manipulations. \$\endgroup\$
    – Woofmao
    Commented Jul 23, 2018 at 1:27
  • \$\begingroup\$ The answer to "is builtins forbidden" is conclusively answered by the fact that the relevant standard loopholes post has a huge negative score. \$\endgroup\$ Commented Aug 25, 2019 at 1:59
  • \$\begingroup\$ Possible duplicate of Loopholes that are forbidden by default \$\endgroup\$ Commented Aug 25, 2019 at 1:59

1 Answer 1


If most languages have a builtin, then the challenge is too simple

There are some exceptions, for example I like the existence of the Add Two Numbers challenge as a "language showcase", but they are exceedingly rare. In other words, if all the answers are just "use builtin" then the challenge won't be saved by banning builtins.

The fact that a language has a weird builtin can itself be interesting

An answer that sometimes gets brought up in discussions about builtins is this one, which uses Mathematica's built in "Does the image contain an upright goat" function. As can be seen, many people like that answer due to the sheer absurdity of a programming language with that builtin. I don't think anybody would accuse that challenge of being "too simple", though some don't agree with me that the linked answer is "interesting".

Another example is this one, which is interesting (to me) because it relies on less-than-obvious language behavior to use a single general-purpose function to solve a much more specific challenge. Again, not everybody finds such answers interesting, but there would be very few answers on the site at all if we only accept answers that everybody finds interesting.

A challenge that's uninteresting in some languages can be interesting in others

So you make a challenge that isn't trivial, the logic is pretty interesting, but the result is "useful" so several languages have a builtin for it. So what? It may not be an ideal situation where every answer is great, but that doesn't mean you should shove the challenge in the horrendous mess that is "trying to ban builtins" just to reduce the number of answers in hopes that the remaining ones are interesting. It's just not worth it.

  • 11
    \$\begingroup\$ In regards to the last point: I've seen many answers that are effectively "X language without using Y builtin". So, even if a particular language has a built-in to do the task, users can still opt for the interesting path. \$\endgroup\$ Commented Jul 19, 2018 at 19:07
  • \$\begingroup\$ if all the answers are just "use builtin" then the challenge won't be saved by banning builtins” Why not? \$\endgroup\$
    – user76284
    Commented Jan 19, 2021 at 19:17

You must log in to answer this question.

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