The Principle of Least Precision

Another day, another attempt to formalize something whose utility lies in its informality. Rigor and precision have their place: if someone asks, “What’s the semantics of slicing?” and the project lead said, “I don’t know, look at what the code does,” it’s time to join a different language development project. But UML and the Semantic Web and Loglan failed to catch on on for good reasons. Human beings aren’t analytic machines; we reason by analogy with what we’ve seen and done before and only resort to logic when we’ve painted ourselves into a corner and have no other option. Even in the purest of pure math, our “proofs” are little more than stepping stones across a river rather than an unimpeachable atomization of truth.

This is why I’m skeptical of anything with the word “ontology” in its title. The more precisely we define a term like “author” or “species”, the less accessible we make that term’s meaning. (Go ahead, read this and tell me if you feel enlightened.) Yes, a handful of people need precise definitions, but I think a primary goal for any system should be to make it unnecessary for users to think precisely, because as Cherubini et al found over a decade ago, they’re going to anyway.

The Soul of a New Machine has a quote from Tom West: “Not everything worth doing is worth doing well.” Inspired by the Principle of Least Astonishment, I’d like to propose a Principle of Least Precision, and measure the success of a system by how much people can accomplish without having to split hairs.

In the wake of posts about Shopify's support for white nationalists and DataCamp's attempts to cover up sexual harassment
I have had to disable comments on this blog. Please email me if you'd like to get in touch.