Nary a week goes by without seeing a post by a programmer, for programmers, on the subject of logical fallacies in arguments. This week’s, courtesy of hacker news, is not egregious, enlightening, or indeed different in any way from the usual torrent. It is merely the one that prompted me into writing this article. The most frequent, and most severe, logical fallacy I encounter among programmers is this one:
- basing your argument on logic.
Now, obviously, for a fallacy to be recognised it needs to have a Latin name, so I’m going to call this one argumentum ex logica.
Argumentum ex logica is the fallacious reasoning that the best course of action for a group of people is the one that can be arrived at by logical deduction. No need to consider the emotions of the people involved, or the aesthetic properties of any potential solutions. Just treat your workplace like your high school debating club, pick (seemingly arbitrarily) some axioms, and batter your way through to your preferred conclusion.
If people disagree with you on (unreasonable) emotional grounds, just name their logical fallacies so you can overrule their arguments, like you’re in an episode of Ally McBeal and want their comments stricken from the record. If people manage to find a flaw in the logic of your argument, just pick a new axiom you’d never mentioned before and carry on.
The application of the argumentum ex logica fallacy is frequently accompanied by descriptions of the actions of “the brain”, that strange impish character that sits inside each of us and causes us to divert from the true path of Syrran of Vulcan. Post hoc ergo propter hoc, we are told, is an easy mistake to make because “the brain” sees successive events as related.
Here’s the weird thing. We all have a “the brain” inside us, as an important part of our being. By writing off “the brain” as a mistaken and impure lump of wet fat, programmers are saying that they are building their software not for humans. There must be some other kind of machine that functions on purely logical grounds, for whom their software is intended. It should not be.
An interesting point of view, however, it assumes that we’re happy with the way we are and don’t want to improve ourselves – understanding how the brain works (And how it tricks us and confuses us from the way it’s evolved) can help us overcome many simple falsehoods and be better people…
I do agree that you have to be ‘systems-minded’ and consider how we actually are, and not how we would necessarily like to be. Only Sith deal in absolutes – there’s always a middle ground that is probably where we want to be.
The problem here is that the brain doesn’t trick you. Your brain is part of you: its heuristics and shortcuts are your heuristics and shortcuts. I do not believe that abiding by pure logic would make for better people.
I feel I have arrived at a point in my programming career where I NEED to throw away whatever is ‘logical’ and ‘right’ and ‘makes sense’ and go with what feels good, like the old processing, and avoid what seems right, like clojure. Otherwise, everything seems ‘correct’ but I just cant make progress