-6
\$\begingroup\$

There are a number of programming languages that seem to be specifically designed for solving problems (05AB1E and Jelly immediately come to mind). Should providing a "decomposed" explanation be required, or at least strongly encouraged, as part of the answer? By '"decomposed" explanation', I mean something like my answer to this challenge.

\$\endgroup\$
3
  • \$\begingroup\$ A problem with this is that it would delay answerers who might want to go answer some other challenge as well. \$\endgroup\$ Commented Jun 15, 2018 at 14:09
  • \$\begingroup\$ @EriktheOutgolfer - I don't necessarily see a problem there; there doesn't seem to be anything that suggests that being first-in garners any sort of benefit. \$\endgroup\$ Commented Jun 15, 2018 at 14:22
  • \$\begingroup\$ @JeffZeitlin In case of score tie, the first answer wins. But that's not a problem, as the explanation can be added later on (this is standard practice) \$\endgroup\$
    – Luis Mendo
    Commented Jun 15, 2018 at 14:22

1 Answer 1

17
\$\begingroup\$

No, it shouldn't be mandatory. But it is encouraged

Making it mandatory would cause problems, such as:

  • How do you draw a line between languages that require and explanation and those who don't? That's very subjective. Not everyone is familiar with Python, and not everyone finds Jelly difficult to read.

  • For some answers, even in "difficult" languages, the explanation is hardly necessary because the code is so simple. Again, the distinction is subjective.

On the other hand, it is already encouraged to include explanations. Answers with explanations tend to get more upvotes. This is part of the culture of the site.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ APL comes to mind as an example of a blurred line, being very different from most other practical languages. \$\endgroup\$
    – Adalynn
    Commented Jun 15, 2018 at 14:27
  • 9
    \$\begingroup\$ Even supposedly "self-documenting" languages become nearly incomprehensible when you remove meaningful variable names and shove code where it doesn't belong such as inside the conditional portion of a for loop. \$\endgroup\$ Commented Jun 15, 2018 at 14:32
  • \$\begingroup\$ Don't forget the time factor; sometimes we just don't have enough of it to invest in writing an explanation especially for more complex solutions and/or if there are other challenges we want to be getting on with. \$\endgroup\$
    – Shaggy
    Commented Jun 15, 2018 at 16:58

You must log in to answer this question.

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