Agora (programming language): Difference between revisions

Content deleted Content added
Danakil (talk | contribs)
No edit summary
 
WP:LINKs: update-standardizes, adds, needless WP:PIPEs > WP:NOPIPEs. Small WP:COPYEDITs WP:EoS WP:TERSE. Template:Official website add.
 
(21 intermediate revisions by 18 users not shown)
Line 1:
'''Agora''' is a [[Reflective programming|reflective]], [[[prototypePrototype-based (programming)|prototype-based]], [[object-oriented (programming)|object-oriented]] [[programmingProgramming language|language]] that is based exclusively on [[message passing]] and not [[Delegation (object-oriented programming)|delegation]]. Agora was intended to show that even subject to that limitationlimit, it is possible to build a full-fledged object-oriented language that features [[Inheritance (object-oriented programming)|inheritance]], [[Clone (Java method)|cloning]], and reflective [[Operator (computer programming)|operators]].
 
==Overview==
The idea is that an [[Object (computer science)|object]] is fully [[Encapsulation (computer programming)|encapsulated]] and can only be subject to message passing. But seen from the inside of the object, the object knows all about it'sits own structures. It is therefore perfectlyfully capableable ofto cloningclone and extendingextend itself. This is accomplished by special [[Method (computer programming)|methods]] callednamed ''cloning'' methods and ''[[mixin-]]'' methods.
 
Agora has been implemented in [[C++]], [[Java (programming language)|Java]], [[Scheme (programming language)|Scheme]], and [[Smalltalk]]. Agora98, the latest implementation of Agora, is done in Java and, allows full access to all Java application programming interfaces ([[API']]s), including the ability to create applets[[Java applet]]s from within Agora98. From the language point of viewviewpoint, Agora98 is a considerable simplification of previousprior Agora versions of Agora.
 
==References==
Line 13:
* ''Nested Mixin-methods in Agora'', Proceedings of ECOOP93, Springer-Verlag, 1993.
 
==External links==
[[Category:Programming languages]]
* {{Official website|soft.vub.ac.be/research/agora}}
[[Category:Object-oriented programming languages]]
 
[[Category:Prototype-based programming languages]]