| The Prescriptive Fallacy |
| The
prescriptive fallacy is very common in Usenet postings;
so I'm going to take some time out to label it and
discuss it. It is a principle cause of flame wars in
computer science. It is commonly called the is-ought
problem in philosophy. It was first identified by the
Scottish philosopher David Hume. The prescriptive fallacy in its basic form consists of making a verifiable scientific statement about something and then drawing a prescriptive conclusion from that statement based on an unargued and possibly dubious value judgement which is generally not openly stated. Prescriptive fallacies abound in discussions on computer languages and computing paradigms. The form of the argument is Language X has
feature F which language Y does not. Put forthrightly, this may seem crude and silly, but a lot of posts do commit this fallacy. The prescriptive part is often deeply buried in the scientific part of the post. Generally the prescriptive fallacy is bundled with the science. So the author is likely to argue that (e.g.) since type security is obviously good, because correctness is good, this outweighs any convenience that dynamic typing gives you. This latter observation is a value judgement. It acquires plausibility from single-mindedly ignoring any other considerations and making correctness the most important characteristic of a program. In dealing with the prescriptive fallacy, the correct course is to challenge the author to cough up his suppressed value judgements. Here's a few to grow on. You can try to uncover the suppressed value judgement. Qi is better than Haskell because it gives you the choice of whether to have type checking. Haskell is better than Qi because it enforces type checking. Lisp is better than ML because it has macros. TCL/Tk is better than ML because it has graphics. You can get a job with C++, why study Haskell? Readers who are faced with flamers who commit this fallacy can point to this page if they wish. Mark Copyright (c) 2008, Mark Tarver
|