Skip to content
Philosophy

Platonism in Software: Why Developers Expect Perfection from Tools

Updated

Knowledge on this page was mainly distilled from No Circle Is Round and AI Isn't Deterministic. So What..

Platonism is the belief that perfect abstract Forms are the true reality and the physical world is a degraded shadow. It is a useful frame for geometry class and a terrible frame for engineering.

Software builders are especially susceptible because code feels like the closest thing to pure math that humans build. Same instruction, same output. The cracks show higher up the stack, but the mental model has already formed. When a new tool like AI breaks the illusion of determinism, the reaction is visceral: this tool is broken.

Every other craft has worked against imprecision as the baseline forever. Carpenters, musicians, pilots, and machinists all start from the assumption that their materials and tools are imperfect. Software developers are not encountering a new defect with AI. They are meeting what normalcy looks like outside their discipline.

Q&A

What is Platonism in the context of software development?

It is the implicit belief that code should behave like a pure mathematical function: same input, same output, every time. Because low-level software often does behave this way, developers form a mental model of deterministic perfection. When higher-level tools like AI break that expectation, the reaction feels like encountering a defect rather than encountering normal physical-world imprecision.

Why are software developers more susceptible to Platonic thinking than other engineers?

Because code at the instruction level genuinely approximates pure math more closely than any other human-built artifact. A function that adds two integers returns the same result every time. This creates a baseline expectation of determinism that carpenters, musicians, and mechanical engineers never develop, since their materials are visibly imprecise from the start.

How does Platonic thinking cause builders to stall on AI features?

It reframes a threshold question ('is this reliable enough for the job?') as a binary one ('is this deterministic or not?'). Since AI models are inherently non-deterministic, the binary framing always returns 'no,' and the builder never ships. The threshold framing asks a question that can actually be answered and acted on.

Does rejecting Platonism mean accepting sloppy work?

No. It means replacing an impossible standard with a rigorous but achievable one. The target is appropriate precision for the job: tight where the job demands tightness, loose where the job permits it. This is the same standard every other engineering discipline uses, and it produces reliable bridges, aircraft, and medical devices.