A concern can be as general as the details of database interaction or as specific as performing a primitive calculation, depending on the level of conversation between developers and the program being discussed.
IBM uses the term concern space to describe the sectioning of conceptual information.
Edsger W. Dijkstra coined the term "separation of concerns"[2] to describe the mentality behind this modularization, which allows the programmer to reduce the complexity of the system being designed.
Two different concerns that intermingle in the same section of code are called "highly coupled".
[3] The various programming paradigms address the issue of cross-cutting concerns to different degrees.