Active Oberon

Active Oberon
Active Oberon
OberonLogo.png
Класс языка:

императивный, структурированный, модульный

Появился в:

2000

Автор(ы):

Patrik Reali, B. Meyer, Brinch Hansen, Pieter Muller, Jurg Gutknecht (Юрг Гуткнехт)

Типизация данных:

статическая, сильная,

Испытал влияние:

Modula-2, Pascal, Oberon-2, Object Oberon, Component Pascal

Повлиял на:

Zonnon, Go

Активный Оберон — язык программирования высокого уровня, на операционной системе Bluebottle OS или A2 , написанной на этом же языке. Его цель — введение в язык Оберон свойств для выражения параллелизма посредством активных объектов (active objects) или Автономных программных агентов (АПА, software agents). Это исследовательский проект, выполняемый группой проф. Гуткнехта (ETH, Цюрих).

Содержание

Концепции языка

В нём существенно расширен синтаксис, введены конструкции для описания классических «свойств» (property) с контролем чтения/записи, числовых типов с задаваемым размером в битах. Введена поддержка «активных объектов» (active object), обменивающихся сообщениями в формате, определяемом РБНФ-описанием, обработка исключений. Добавлены объектно-ориентированные расширения: указатель на безымянные типы записей, объектные типы, cвязанные с типом процедуры, инициализаторы, self, делегаты, «описания» (definition). Приняты конструкторы «статических модулей» (static module).

Совместимость

Активный Оберон обратно совместим с языком Oberon. Поддерживает работу в Win32, Linux и на «голой» машине (PC), сосуществует с Java и .NET. Показал отличную эффективность в специфических областях (мультимедиа, повсеместный компьютинг).

Особенности

  • Защита от одновременного доступа при помощи модификатора EXLUSIVE более читабельна, если методы принадлежат одной области видимости.
  • Важное отличие продиктовано решением позволить компилятору обрабатывать опережающие ссылки (forward reference).
  • Используется оператор AWAIT, концептуально простотой и элегантный.
  • Ключевое слово SELF может быть использовано в любом методе или в любой локальной процедуре метода объекта.
  • Делегаты подобны процедурным типам; они совместимы как с процедурами так и с методами, в то время как процедурные типы совместимы только с процедурами. Делегаты процедурных типов помечаются модификатором DELEGATE.
  • Описание (DEFINITION) — это синтаксический контракт, определяющий набор сигнатур методов.
  • Ключевое слово IMPLEMENTS используется для указания описаний, реализованных объектным типом. Объектный тип может реализовать несколько описаний.
  • Связи IMPORTS и REFINES используются для описания зависимостей статических модулей.
  • Тело активного объекта помечается модификатором ACTIVE. Во время размещения объекта так же размещается новый процесс, который исполняет тело параллельно; такой объект называется активным объектом (active object).
  • В язык был добавлен 64 битный знаковый целый тип HUGEINT.
  • Нетрассируемые указатели — это указатели, которые не отслеживаются сборщиком мусора.
  • Некоторые расширения из Oberon-2 были адаптированы для Active Oberon:
    • ASSERT
    • FOR
    • экспорт только для чтения
    • динамические массивы
    • Переменные указатели автоматически инициализируются значением NIL.

Влияние Active Oberon на другие языки

Язык Zonnon является форком языка Active Oberon.

Ссылки


См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Active Oberon" в других словарях:

  • Active Oberon — Paradigmen: imperativ, strukturiert, objektorientiert Entwickler: Niklaus Wirth, Jürg Gutknecht Einflüsse: Oberon Beeinflusste …   Deutsch Wikipedia

  • Oberon (programming language) — Oberon Paradigm(s) imperative, structured, modular Appeared in 1986 Designed by Niklaus Wirth Typing discipline strong, static …   Wikipedia

  • Oberon (Programmiersprache) — Oberon ETH Oberon Logo Basisdaten Paradigmen: imperativ …   Deutsch Wikipedia

  • Oberon programming language — Infobox programming language name = Oberon paradigm = imperative, structured, modular year = 1986 designer = Niklaus Wirth | typing = strong, static dialects = implementations = influenced by = Modula 2 influenced = Oberon 2, ZonnonOberon is a… …   Wikipedia

  • Oberon (operating system) — Oberon Tiled window arrangement of Oberon Company / developer Niklaus Wirth and Jürg Gutknecht Programmed in Oberon Source model …   Wikipedia

  • Oberon class submarine — For the 1920s O class submarines, sometimes referred to as the Oberon class, see Odin class submarine. HMS Otus Class overview Name: Oberon …   Wikipedia

  • Oberon (moon) — For other uses, see Oberon (disambiguation). Oberon The best Voyager 2 image of Oberon, obtained on January 24, 1986 Discovery D …   Wikipedia

  • Oberon (comics) — Not to be confused with Auberon (comics). Oberon (last name unrevealed) Publication information Publisher DC Co …   Wikipedia

  • Oberon (groupe, 1970) — Venom (groupe) Pour les articles homonymes, voir Venom. Venom Venom en concert au Hellfest 2008 Pays d’origine …   Wikipédia en Français

  • Merle Oberon — in Affectionately Yours, 1941 Born Estelle Merle Thompson 18 February 1911(1911 02 18) Bombay (now Mumbai), British India …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»