Агора (язык программирования)
Agora — это рефлексивный , программирования, основанный на прототипах объектно - ориентированный язык который основан исключительно на передаче сообщений , а не на делегировании . Agora была призвана показать, что даже с учетом этого ограничения можно создать полноценный объектно-ориентированный язык, включающий наследование , клонирование и рефлексивные операторы .
Обзор
[ редактировать ]Идея состоит в том, что объект полностью инкапсулирован и может быть подвергнут только передаче сообщений. Но если смотреть изнутри объекта, объект знает все о своих структурах. Поэтому он полностью способен клонировать и расширять себя. Это достигается с помощью специальных методов, называемых методами клонирования и примеси методами .
Agora реализована на C++ , Java , Scheme и Smalltalk . Agora98, последняя реализация Agora, выполненная на Java, обеспечивает полный доступ ко всем интерфейсам программирования приложений Java ( API ), включая возможность создания Java-апплетов изнутри Agora98. С точки зрения языка Agora98 представляет собой значительное упрощение предыдущих версий Agora.
Ссылки
[ редактировать ]- Agora98: Рефлексивное программирование в веб-браузере , представлено на ECOOP98.
- Союз классового и объектно-ориентированного наследования без нежелательных детей , Труды ECOOP'95, Springer-Verlag 1995.
- Агора: Передача сообщений как основа для изучения концепций объектно-ориентированного языка , Уведомления SIGPLAN, 29(12):48-57, декабрь 1994 г.
- Модульное наследование объектов посредством миксин-методов , Труды JMLC'94.
- Вложенные миксин-методы в Agora , Труды ECOOP93, Springer-Verlag, 1993.