Separation of Concerns
Software engineering principle that emphasizes the importance of dividing a system or application into distinct and modular components, with each component addressing a specific concern or aspect of the system.
EverydayConcepts.io
Origin
Edsger W. Dijkstra coined the phrase in his August 1974 essay EWD447, On the Role of Scientific Thought, a handwritten personal note now archived at the University of Texas at Austin. He wrote: "It is what I sometimes have called 'the separation of concerns'…the only available technique for effective ordering of one's thoughts that I know of." Dijkstra had been developing the foundations of structured programming since 1969, and the principle became foundational to software architecture and object-oriented design.
Updated February 22, 2026