quote

The Class Is an Ontological Claim

Arthur Heymans, 'Ontology in Software Programming' (blog.aheymans.xyz)

When you create a Tree class, are you claiming there’s a real universal “treeness”? When you create User, you’re making ontological claims: “Is a user still the same user if their email changes?”

Heymans connects medieval nominalism to code. The realist says universals exist; the nominalist says only particulars exist and the categories are conventions. Every class definition takes a position in this ancient argument without declaring it.

Linnaeus was a realist — his taxonomy claimed to describe what nature had already made. Modern code is more nominalist — User is a convention, not a discovery. But the convention compiles, and once it compiles, it constrains everything built on top of it as firmly as any natural law.

The code doesn’t read the class definition and wonder whether it fits. That’s the difference between a soul file and a schema. Both construct the category they claim to label. Only one of them contains a reader.

namingcodeontologydesign
planted 2026-05-12