Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Concern (computer science)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Overview== Usually the code can be separated into logical sections, each addressing separate concerns, and so it hides the need for a given section to know particular information addressed by a different section. This leads to a [[Modularity (programming)|modular]] program. [[Edsger W. Dijkstra]] coined the term "[[separation of concerns]]"<ref>{{Citation | last = Dijkstra | first = Edsger W. | author-link = Edsger W. Dijkstra | editor-last = Dijkstra | editor-first = Edsger W. | contribution = On the role of scientific thought | contribution-url = http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447.html | title = Selected writings on Computing: A Personal Perspective | year = 1982 | pages = [https://archive.org/details/selectedwritings0000dijk/page/60 60β66] | publisher = Springer-Verlag New York, Inc. | place = New York, NY, USA | isbn = 0-387-90652-5 | url = https://archive.org/details/selectedwritings0000dijk/page/60 }}</ref> 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 "[[Coupling (computer science)|highly coupled]]". Sometimes the chosen module divisions do not allow for one concern to be completely separated from another, resulting in [[cross-cutting concern]]s.<ref>Mendhekar, Anurag, Gregor Kiczales, and John Lamping. [http://www2.parc.com/csl/groups/sda/publications/papers/PARC-AOP-RG97/ "RG: A Case-Study For Aspect-Oriented Programming"] {{webarchive|url=https://web.archive.org/web/20070908073330/http://www2.parc.com/csl/groups/sda/publications/papers/PARC-AOP-RG97/ |date=2007-09-08 }} Xerox Palo Alto Research Center. Feb 1997.</ref> The various [[programming paradigm]]s address the issue of [[cross-cutting concern]]s to different degrees. [[Logging (software)|Data logging]] is a common cross-cutting concern, being used in many other parts of the program other than the particular module(s) that actually log the data. Since changes to the logging code can affect other sections,{{How|date=September 2015}} it could introduce [[computer bug|bugs]] in the operation of the program. Paradigms that specifically address the issue of concern separation: * [[Object-oriented programming]], describes concerns as objects * [[Functional programming]], describing concerns as functions * [[Aspect-oriented software development]], treating concerns and their interaction as constructs of their standing
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)