Reasoning violently

The old joke goes, “XML is like violence, if it doesn’t solve the problem, just use more.”

This generalises well. I’ve seen a lot of people choose to continue using tools that are obviously running counter to their ability to get work done, even almost paraphrasing the above, but without irony!

It seems to apply strongly to formal languages (XML, Nix, Terraform, Kubernetes YAML), some architectures (microservices, the cloud, SPAs, OO), and type systems (dependent types, effect systems, the borrow checker), and methodologies (scrum, open source). All quite good used in moderation, but tend to be used like violence.

All downsides become mere setbacks, all potholes become user error or ignorance, alternative hammers are black holes of complexity! It’s quite hard to reason with people who are doing this. O ye, of little faith!

That’s reasoning violently.