26

Occasionally there are questions asked that seek to explain some soundbite of thing someone said or wrote.

These questions take a few sentences from a larger piece and ask what it means, or disprove it, or take two of them and ask which is right.

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration --Dijkstra

I started out as a BASIC programmer. Some people would say that I'm permanently damaged. Some people are undoubtedly right... But I'm not going to apologize for that. All language designers have their occasional idiosyncracies. I'm just better at it than most. -Wall

Does this mean that Perl is broken by design?

Why don't questions about blog posts, xkcd cartoons, and old letters make good questions?

Quick link: [Discuss this ${blog}](https://softwareengineering.meta.stackexchange.com/q/6417)

30

Blog posts, (esoteric) web comics, keynote talks, and even letters (and papers) from old computer scientists - trying to cite them and ask about particular parts fail at being good questions for several factors.

The first is that many of these are driven ultimately by views. The more views they get, the better (for them). Everyone who writes for the media (be it a paper in the ACM or a blog post tucked away in a bliki) says things with some degree of exaggeration and hyperbole to get people to think about what is written, to generate readership and to get people to discuss the material (hopefully on their own blog or letters to the editor).

The point is, the discuss part. Larry Wall wanted people to be discussing what he said at the State Of The Onion talk. Dijkstra wanted people to be discussing and thinking about the education system for teaching programming.

Discussions don't work here

Stack exchange works on a different model. Its not people talking about what is said here that brings the eyeballs. Its the quality of the material. To provide good material, the system was designed with the intent to make discussions difficult. This runs completely contrary to how blogs work.

One can certainly debate if Dijkstra was wrong, or if Larry broke perl in version 1.0, or if goto can be used properly. These are good questions to ask... but not here. They are debates. In the Help Center - What types of questions should I avoid asking it says thus:

If your motivation for asking the question is “I would like to participate in a discussion about ______”, then you should not be asking here. However, if your motivation is “I would like others to explain ______ to me”, then you are probably OK. (Discussions are of course welcome in our real time web chat.)

Explanation of Opinions are Primarily Opinion themselves

Inherently, explaining and opinion is an opinion itself. It is one thing to explain why goto cannot fit into the Java Virtual Machine model. It is quite another to try to explain why it is considered harmful. The first is something that has an answer that is right or wrong, the second is expanding upon an opinion.

An explanation of what someone else thought is my interpretation of those thoughts from what I am familiar with. I think that Dijkstra was writing because of a deep set loathing of code that lacked structure and any artistic merit or craftsmanship. Someone else may believe that Dijkstra was writing that about Fortran because he was concerned that it would cause people to be forever constrained to programs no wider than 80 columns.

Who knows? Which answer is right? It can only be opinion.

The source material is too broad

With the Dijkstra quote at the top, lets look at the Fortran bit instead (searching for 'basic' returns too many hits that aren't about the language):

FORTRAN —"the infantile disorder"—, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.

EWD498 is ~650 words. There are 51 EWD writings that mention FORTRAN. Consider that this may amount to a 0th approximation of 30,000 words to get the complete scope of what Dijkstra thought about the failings of FORTRAN. To try to explain the full scope of the material would imply reading about 100 pages of a typical novel. Trying to condense that material into a text box is the definition of too broad.

Unclear about the problem

From the help center What types of questions should I avoid asking? again,

You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

Asking to explain a quote, or comic, or blog post isn't something that is practical, answerable, or an actual problem. It is an open ended discussion based on something that was meant to spark discussion.

Discussion is fine, it just doesn't work well on the Q&A part of Stack Exchange (try chat).

  • 5
    Hey, some of these things might make good blog posts too. – TRiG Jan 24 '14 at 13:21
  • 2
    @TRiG they'd be excellent for collecting eyeballs and providing opinions, which is something that would fit well with the Programmers.SE blog. – user40980 Jan 24 '14 at 15:56
  • 2
    I envision Programmers blog article titled like "My question is closed - top 5 (or 4 or 6...) why's" summarizing some of your recent meta posts – gnat Jan 24 '14 at 16:01
  • 1
    Obligatory +1 for xkcd reference. – GlenH7 Jan 24 '14 at 18:42
  • 2
    I love the idea of this on the blog – Dynamic Jan 29 '14 at 14:38
  • What about questions about which definition of a term is correct? That isn't about which definition is "better", and it seems to me that there's a definitive answer. – Matthew Cline Oct 25 '14 at 7:12
  • @MatthewCline: Sometimes there's a definite answer, often there's a definite answer depending on the context, other times there are many equally definite but contradictory ones. – Deduplicator Sep 5 '15 at 17:07
15

A good rule of thumb for these types of questions is "would the question be acceptable if it were about the quote itself, and not about what the creator of the quote meant?"

So, "Does BASIC mentally mutilate programmers beyond hope of regeneration?" would, clearly, not be an acceptable question.

"Is Perl broken by design?" is also pretty clearly opinion based.

But something like "So and so claimed that FORTRAN doesn't support recursion. Does FORTRAN support recursion?" wouldn't be too opinion based (it might possibly show a lack of research effort, however. At least give the guy's name, rather than "so and so". "This question is off topic because it is about something you made up on the spot.").

You must log in to answer this question.