Aspect-oriented programming: Difference between revisions

Content deleted Content added
Rescuing 87 sources and tagging 7 as dead. #IABot (v1.6.5)
History: Removed "as it is the most widely known AOP language", as it has lacked a requested citation for 8 years. Also removed duplicate link – there is a link to AspectJ in the paragraph right before.
Line 14:
AOP has several direct antecedents A1 and A2:<ref>{{Cite conference | doi = 10.1007/BFb0053381 | title = Aspect-oriented programming | work = Proceedings of the 11th European Conference on Object-Oriented Programming | conference = [[European Conference on Object-Oriented Programming|ECOOP]]'97 | volume = 1241 | pages = 220–242 | series = [[Lecture Notes in Computer Science|LNCS]] | year = 1997 | last1 = Kiczales | first1 = G. | author1-link = Gregor Kiczales | last2 = Lamping | first2 = J. | last3 = Mendhekar | first3 = A. | last4 = Maeda | first4 = C. | last5 = Lopes | first5 = C. | last6 = Loingtier | first6 = J. M. | last7 = Irwin | first7 = J. | isbn = 3-540-63089-9 | citeseerx = 10.1.1.115.8660 | url = http://www.cs.ubc.ca/~gregor/papers/kiczales-ECOOP1997-AOP.pdf | deadurl = no | archiveurl = https://web.archive.org/web/20160112141810/http://www.cs.ubc.ca/%7Egregor/papers/kiczales-ECOOP1997-AOP.pdf | archivedate = 2016-01-12 | df = }}</ref> [[reflection (computer programming)|reflection]] and [[Metaobject|metaobject protocol]]s, [[subject-oriented programming]], Composition Filters and Adaptive Programming.<ref>"Adaptive Object Oriented Programming: The Demeter Approach with Propagation Patterns" ''Karl Liebherr'' 1996 {{ISBN|0-534-94602-X}} presents a well-worked version of essentially the same thing (Lieberherr subsequently recognized this and reframed his approach).</ref>
 
[[Gregor Kiczales]] and colleagues at [[Xerox PARC]] developed the explicit concept of AOP, and followed this with the [[AspectJ]] AOP extension to Java. IBM's research team pursued a tool approach over a language design approach and in 2001 proposed [[Hyper/J]] and the [[Concern Manipulation Environment]], which have not seen wide usage.

The examples in this article use [[AspectJ]] as it is the most widely known AOP language.{{Citation needed|date=November 2010}}
 
The [[Microsoft Transaction Server]] is considered to be the first major application of AOP followed by [[Enterprise JavaBeans]].<ref name="BoxSells2002">{{cite book|author1=Don Box|author2=Chris Sells|title=Essential.NET: The common language runtime|url=https://books.google.com/books?id=Kl1DVZ8wTqcC&pg=PA206|accessdate=4 October 2011|date=4 November 2002|publisher=Addison-Wesley Professional|isbn=978-0-201-73411-9|page=206}}</ref><ref name="RomanSriganesh2005">{{cite book|last1=Roman|first1=Ed|last2=Sriganesh|first2=Rima Patel|last3=Brose|first3=Gerald|title=Mastering Enterprise JavaBeans|url=https://books.google.com/books?id=60oym_-uu3EC&pg=PA285|accessdate=4 October 2011|date=1 January 2005|publisher=John Wiley and Sons|isbn=978-0-7645-8492-3|page=285}}</ref>