7
\$\begingroup\$

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.

\$\endgroup\$
  • 10
    \$\begingroup\$ Stop banning builtins has 81 for and one against. It's not a consensus but it is a hard plurality. \$\endgroup\$ – Wheat Wizard Jul 19 '18 at 18:01
  • \$\begingroup\$ @WW But how do you stop what may be an interesting challenge from being trivial then? \$\endgroup\$ – Beta Decay Jul 19 '18 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 Jul 19 '18 at 18:04
  • \$\begingroup\$ @WW What if isn't simple without built ins? \$\endgroup\$ – Beta Decay Jul 19 '18 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\$ – FryAmTheEggman Jul 20 '18 at 5:36
  • \$\begingroup\$ @FryAmTgeEggman Huh, that would be more interesting... :/ \$\endgroup\$ – Beta Decay Jul 20 '18 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 Jul 23 '18 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\$ – pppery Aug 25 at 1:59
  • \$\begingroup\$ Possible duplicate of Loopholes that are forbidden by default \$\endgroup\$ – pppery Aug 25 at 1:59
11
\$\begingroup\$

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.

\$\endgroup\$
  • 9
    \$\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\$ – Nathan Merrill Jul 19 '18 at 19:07

You must log in to answer this question.

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