Content deleted Content added
did something |
m Bot: http → https |
||
(66 intermediate revisions by 46 users not shown) | |||
Line 1:
{{Short description|Programming paradigm based on conceptual understanding of objects}}
{{Use mdy dates|date=January 2019}}
{{Use American English|date=January 2019}}
'''Role-oriented programming'''
The main idea of role-oriented programming is that humans think in terms of
In the older literature and in the field of
| last1 = Carpenter
| first1 = Tom
| title = Microsoft Windows Server Administration Essentials
| url = https://books.google.com/books?id=6_mmL45Zw0IC
| series = Sybex Serious Skills
| date = July 18, 2011
| ___location = Indianapolis
| publisher = John Wiley & Sons
| publication-date = 2011
| page = 9
| isbn = 9781118148693
| access-date = 2018-03-07
| quote = [...] a server role is a set of software programs (services) that enable a server to perform specific functions for users or computers on the network.}}</ref>
Many{{quantify|date=March 2018}} researchers have argued the advantages of roles in [[computer model|modeling]] and implementation. Roles allow objects to evolve over time, they enable independent and [[Concurrency (computer science)|concurrently]] existing views (interfaces) of the object, explicating the different contexts of the object, and [[separation of concerns | separating concerns]]. Generally roles are a natural element of human daily concept-forming. Roles in programming languages enable objects to have changing interfaces, as we see in [[real life]] - things change over time, are used differently in different contexts, etc.
==Authors of role literature
* [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/p/Pernici%3ABarbara.html Barbara Pernici]
* [http://www.mip.sdu.dk/people/Staff/bbk.html Bent Bruun Kristensen]<ref>{{cite web |url=http://www.sigmod.org/dblp/db/indices/a-tree/k/Kristensen%3ABent_Bruun.html |url-status=dead |archive-url=https://web.archive.org/web/20070927210129/http://www.sigmod.org/dblp/db/indices/a-tree/k/Kristensen:Bent_Bruun.html |archive-date=September 27, 2007 |title=DBLP: Bent Bruun Kristensen}}</ref>
* [https://existentialprogramming.blogspot.com/search/label/roles Bruce Wallace]
* [[Charles Bachman]]<ref>{{cite web |url=http://www.computerhistory.org/events/lectures/bachman_04162002/bachman.shtml |title=Computer History Museum - Lectures - Charles W. (Charlie) Bachman |access-date=2013-01-03 |url-status=dead |archive-url=https://web.archive.org/web/20130103023948/http://www.computerhistory.org/events/lectures/bachman_04162002/bachman.shtml |archive-date=2013-01-03 }}</ref>
* [http://www.kbs.uni-hannover.de/~steimann/ Friedrich Steimann]
* [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/g/Gottlob%3AGeorg.html Georg Gottlob]
* [https://www.itu.dk/people/kbilsted/ Kasper B. Graversen]
* [https://www.itu.dk/people/kasper/ Kasper Østerbye]
* [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/h/Herrmann%3AStephan.html Stephan Herrmann]
* [[Trygve Reenskaug]]<ref>{{cite web |url=http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/r/Reenskaug%3ATrygve.html |title = dblp: Trygve Reenskaug}}</ref>
* [https://wwwpub.zih.tu-dresden.de/~s4560758/ Thomas Kühn]
==Programming languages with explicit support for roles==
* [[Cameleon_(programming_language)|Cameleon]]
* [https://www.eclipse.org/epsilon/ EpsilonJ]
* [[JavaScript#Delegative|JavaScript Delegation - Functions as Roles (Traits and Mixins)]]
* [https://www.eclipse.org/objectteams Object Teams]
* [[Moose (Perl)#Roles|Perl (Moose)]]
* [[Raku (programming language)#Roles|Raku]]
* [http://portal.acm.org/citation.cfm?id=1141277.1141606 powerJava]
* [https://github.com/max-leuthaeuser/SCROLL SCala ROLes Language]
==See also==
[[Category: Object-based programming languages]]▼
* [[Aspect-oriented programming]]
* [[Data, context and interaction]]
* [[Object Oriented Role Analysis Method]]
* [[Object-role modeling]]
* [[Subject (programming)]]
* [[Subject-oriented programming]]
* [[Traits (computer science)]]
==References==
{{reflist|30em}}
==External links==
* [https://web.archive.org/web/20060910101027/http://ftp.ccs.neu.edu/pub/people/lieber/appcs.pdf Adaptive Plug-and-Play Components for Evolutionary Software Development], by Mira Mezini and Karl Lieberherr
* [http://www.iit.edu/~concur/asc/cassservices.html Context Aspect Sensitive Services]
* [https://www.itu.dk/people/kbilsted/graversen06thesis.pdf Overview and taxonomy of Role languages]
* [https://doi.ieeecomputersociety.org/10.1109/COOPIS.1999.792181 ROPE: Role Oriented Programming Environment for Multiagent Systems]
{{Programming paradigms navbox}}
{{compu-prog-stub}}
[[Category:Programming paradigms]]
|