2014-10-07 10:19:19 UTC
The No True Scottsman fallacy leads to arguments like this:
Person A: "No Scottsman ever steals."
Person B: "I know of a Scottsman who stole."
Person A: "No True Scottsman would ever steal."
Person A is thus protected from the harmful effects of new information.
New information is dangerous, as it might cause someone to change their
mind. New information can be rendered safe simply by declaring it to be
invalid. Person A believes all Scottsmen are brave and honorable, and
you can not convince them otherwise, for any counter-example you bring
up is of some degraded Untrue Scottman, which has no bearing on whatever
they think of True Scottsmen. And this is my experience whenever I argue
against Object Oriented Programming (OOP): no matter what evidence I
bring up for consideration, it is dismissed as irrelevant. If I complain
that Java is verbose, I'm told that True OOP Programmers let the IDE
take care of some of the boilerplate, or perhaps I am told that Scala is
better. If I complain that Scala involves too much ceremony, I'm told
that Ruby lacks ceremony. If I complain about the dangers of
monkey-patching in Ruby, I'm told that True OOP Programmers know how to
use the meta-programming to their advantage, and if I can't do it then I
am simply incompetent. I should use a language that is more pure, or a
language that is more practical, I should use a language that has
compile-time static data-type checking, or I should use a language that
gives me the freedom of dynamic typing. If I complain about bugginess,
I'm told that those specific bugs have been fixed in the new version,
why haven't I upgraded, or I'm told there is a common workaround, and
I'm an idiot if I didn't know about it. If I complain that the most
popular framework is bloated, I'm told that no one uses that framework
any more. No True OOP Programmer ever does whatever it is that I'm