You On AI Field Guide · Separation of Concerns (Dijkstra) The You On AI Field Guide Home
Txt Low Med High
CONCEPT

Separation of Concerns (Dijkstra)

Dijkstra's 1974 principle — widely misunderstood as an organizational technique for code — that is in fact an epistemological discipline: the programmer addresses one concern at a time, in isolation, because the human skull cannot hold more.
The separation of concerns is the most widely adopted and most widely misunderstood of Dijkstra's principles. What the profession heard was an organizational tip — put database code here, interface code there, business rules in between. What Dijkstra meant was a discipline of attention: the programmer, facing a problem of real complexity, addresses one concern at a time and does not permit herself to think about other concerns simultaneously. Correctness is addressed separately from efficiency. Interface is addressed separately from implementation. Each concern, isolated, becomes small enough to be held in the human mind, analyzed completely, and verified with confidence. The composition of separately verified concerns yields a system that is — in Dijkstra's precise phrase — intellectually manageable. The separation is not where the code lives. It is what the programmer is thinking about at any given moment, and crucially, what she is not.
Separation of Concerns (Dijkstra)
Separation of Concerns (Dijkstra)

In The You On AI Field

← Home 0%
CONCEPT Book →

Keep reading with YOU ON AI

Unlock the full book, 10,000+ field-guide entries, and a 1000+ thinker library. If you have a book code, register now — it takes a minute.

Register with book code Sign in