The Trouble with Binary Arguments

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

After reading two oppositional analyses back-to-back today [1], I wanted to chime in on one of my pet peeves with today’s coverage of technology – the veritable explosion of binary comparisons. More and more often, I’m seeing technical arguments couched as an either/or, yes/no proposition – binary arguments, in other words. While everyone pays lip service to the fact that this black/white means of looking at the world is just for the sake of argument – a rehtorical convenience – these oppositional arguments tend to live far beyond their intended life spans. Soon enough they’re being addressed as legitimate points of conversation, rather than the conversational shortcut they’re usually intended to be.

I actually have no problem with this tactic used in limited fashion. Comparing Java to .NET, for example, can be a very useful exercise if it’s done for academic purposes as opposed to market predictions. Dialectics have their place. But we all (yes, I’m thowing myself in there as well), continue to rely on this crutch of oversimplification. You’ve seen these arguments too – it’s Java or .NET, it’s build or buy, it’s managed service versus internally deployed, it’s thin-client vs thick, it’s cell phone vs laptop, one-stop-shop vs best-of-breed, etc etc etc. The reason for this, in my view, is simple – making subtle, nuanced arguments that allow for shaded, complex discussion takes time – both to make the argument and to digest it. And few of us have enough of that these days. It’s critical, however, that we all appreciate the fact that such arguments are of limited utility for real world problems. Why?

On one level, the problem with such arguments is obvious: they simply do not reflect reality. Enterprises, for example, do not typically use a single platform – Java or .NET – for their development needs. They’ll use both, leveraging the different strenghts – not to mention a host of other languages and platforms like Perl, PHP or Python. Distilling the question down to Java v .NET has the benefit of focus at the expense of utility.

Even worse, however, is the fact that binary arguments tend to obscure the fact that in many real world implementations, so-called oppositional technologies will compliment rather than annihilate each other. At the very least, they provide each other with the competition that drives innovation.

So please remember when you’re reading a story, an analysis or simply having a discussion on these technologies, that it’s rarely black or white. It’s gray.


[1] Here and here. Please note that although the viewpoints in these articles triggered this entry, I’m not accusing either one of the binary sin. To their credit, both Bosworth and MacLaurin qualified their remarks fairly carefully. It was rather the complete dialectic of the two viewpoints that got me on the topic.