Agora (programming language): Difference between revisions

Content deleted Content added
m moved Agora programming language to Agora (programming language) over redirect: naming conventions
m Wiki-links: replaced indirect with direct, added several to related articles. Phrasing: improved.
Line 1:
'''Agora''' is a [[Reflection (computer science)|reflective]], [[prototype-based (programming)|prototype-based]], [[object-oriented (programming)|object-oriented]] [[Computer programming|programming]] [[programming language|language]] that is based exclusively on [[message passing]] and not [[Delegation (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 (computer science)|inheritance]], [[clone (function)|cloning]] and reflective [[Operator (programming)|operators]].
 
==Overview==
The idea is that an object is fully encapsulated and can only be subject to message passing. But seen from the inside of the object, the object knows all about its own structures. It is therefore perfectly capable of cloning and extending itself. This is accomplished by special methods called ''cloning'' methods and ''[[mixin]]'' methods.
 
[[Agora98]], the latest implementation of Agora, is done in [[Java (programming language)|Java]] and allows full access to all Java [[application programming interface|API]]s, including the ability to create [[Java applet|applets]] from within Agora98. From the language point of view, Agora98 is a considerable simplification of previousprior Agora versions of Agora.
 
==References==