Words Are A Leaky Abstraction

Feb 16, 2026 11:01 pm

image New Post from BiteofanApple

Words Are A Leaky Abstraction

Something about hearing the phrase "Claude's Soul Document" got me thinking again about a problem I've long pondered. Software folks, like myself, have a long and proud history of taking words that exist and coopting them, manipulating the meaning of those words into feeble shadows of their former selfs. Tech people and tech companies do this on accident and on purpose, both because it can be useful to reduce a human concept to something simpler to quantify and because its easier to market and sell. Machine Learning, an academic term, becomes Artificial Intelligence and the word "Intelligence" is defined down in order to be achievable.

But before we get too far down the Current Events rabbit hole, let's take a step back.


What Trust Is

Personally, I love it when Computer Science research accidentally stumbles on human truths, like this gem from an IEEE paper in 1995:

[Trust] depends on the actual experience of users. Trust is hard to create but very easy to lose. Trust must be handled as a very precious good.

However, while the definition of Trust in Computer Science is metaphorically similar to that in human systems (and is indeed reliant on Human Trust) it isn't the same thing. Trust for a computer is a system which is verifiable with cryptography, it's a process by which one can be certain (or as certain as possible) that the server you're talking to is indeed who they say they are.

Consider a different example: When designing an application, it may be important to collect some information from a user (perhaps their name and email address). To do this, one might create a database table or a model class called User or Person. A Person may have a firstName and a lastName and an emailAddress, and that will be suitable for your purposes. But ask yourself: is that what a Person is? Is person-hood definable by its attributes like this?

In one particular example from my own project history, we needed to model how customers and their attorneys would interact with our system. For legacy reasons, the attorney data wasn't stored in the same structure or format as the customer data, and so when it came time to model the data, the team decided to create an abstract Person class, which was inherited by the Customer, but not by the Attorney. Hence, in that system (as we would often joke) Attorneys weren't People.1

Yet as software becomes more and more the infrastructure of our modern world, and the hard-coded policy by which we make decisions about other people's lives, this nuance is important. It's entirely possible to live a human life with the name Null, but it's very difficult to do so in a world built on computers. Personhood is not definable by the criteria of software, not only because software defines objects by their attributes, but because software is written in words and words are a leaky abstraction over the nuanced realm of thought.

What Words Are

Words, at their core, are a communication protocol that allow two minds to exchange information. They're a particular form of communication, similar to body language or facial expressions, but with a complex and nuanced syntax that has to be learned by the communicating minds slowly over years and decades.




Read the rest on the Web ➡️


Comments