In computer science, separation of concerns (SoC) is a design principle for separating a computer program into distinct sections. Check out [[Going on a Safari#Programming philosophy|Programming philosophy]] to learn more about these subjects.