isms.seff.ai

The computer only does exactly what you tell it to do

Programming is less about writing code and more about precisely specifying what should happen

July 18, 2025
programming
philosophy
debugging
communication

The Computer Does Exactly What You Tell It To Do, Nothing More, Nothing Less

The fundamental truth about computers is deceptively simple: they execute instructions with perfect, literal precision. Nothing more, nothing less.

The Illusion of Intelligence

When we see a computer "misbehaving," our first instinct is to think it's broken or buggy. But the computer isn't wrong—it's being perfectly obedient to the instructions we gave it. The bug isn't in the machine; it's in our communication.

What We Call "Coding"

If computers only execute exact instructions, then what we traditionally think of as "coding" is actually something entirely different:

  • 90% Specification: Understanding and debating what the system should and shouldn't do, and why
  • 10% Expression: Translating those decisions into the computer's language

The hard part isn't learning syntax or frameworks. The hard part is figuring out what to tell the computer to do.

The Specification Problem

Most software problems stem from unclear specifications:

  • Ambiguous Requirements: "Make it user-friendly" means nothing to a computer
  • Missing Edge Cases: What happens when the user inputs nothing? Or everything?
  • Unstated Assumptions: We assume the computer knows what we "obviously" meant

Why This Changes Everything

Understanding this principle transforms how we approach programming:

Debugging Becomes Translation

Instead of asking "Why isn't this working?", ask "What exactly did I tell it to do?"

Requirements Become Paramount

The quality of your specification determines the quality of your software, not the elegance of your code.

Communication Is Everything

Programming is fundamentally about precisely communicating intent. The computer is the most literal listener you'll ever encounter.

The Practical Implications

When you're stuck on a problem, step back and ask:

  1. What exactly do I want to happen?
  2. What exactly did I tell the computer to do?
  3. Where do these two things diverge?

Most of the time, you'll find the gap isn't in your implementation—it's in your specification.

The Humbling Truth

The computer's literal obedience forces us to confront the imprecision of human thought. We discover we don't actually know what we want as clearly as we thought we did.

This isn't a limitation of computers. It's a feature. They force us to think clearly, completely, and precisely about what we're trying to accomplish.

The computer is the ultimate truth machine: it shows us exactly what we said, not what we wished we had said.