- Active Oberon
-
Active Oberon Класс языка: Появился в: Автор(ы): Patrik Reali, B. Meyer, Brinch Hansen, Pieter Muller, Jurg Gutknecht (Юрг Гуткнехт)
Типизация данных: Испытал влияние: Modula-2, Pascal, Oberon-2, Object Oberon, Component Pascal
Повлиял на: Активный Оберон — язык программирования высокого уровня, на операционной системе 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.
Ссылки
- Сообщение о языке Active Oberon (Перевод Андреева М. В.)
- Active Oberon Language Report (англ.)
- Welcome to Bluebottle (ОС A2) (англ.)
- Видео о способе программирования под ОС A2 (англ.)
- Форум об ОС A2 и языке Active Oberon
- Download AOS aka A2 (Active Oberon Community Platform) (англ.)
- "Active Oberon for NET : An Exercise in Object Model Mapping." Jurg Gutknecht (англ.)
- ETH: Oberon (англ.)
- Вирт Н. Долой "жирные" программы // Открытые системы. 1996. № 6.
- Язык Оберон. Краткий путеводитель. Руслан Богатырев, Мир ПК, октябрь 2005
- Мёссенбёк, Н. Вирт. Язык программирования Оберон-2, Институт компьютерных систем, ETH, Цюрих,1996. pdf
- Язык программирования Оберон- первый российский ресурс (1998)
- Портал OberonCore.ru
- Форум программистов >Oberon
- Руслан Богатырев. Оберон как эсперанто программирования, Мир ПК, сентябрь 2005
См. также
Основные языки программирования (сравнение • IDE • история • хронология) Используемые
в разработкеАда • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET)
Академические IEC 61131-3 Instruction List • ST • FBD • Ladder Diagram (LD) • SFC
Прочие Эзотерические Визуальные Категории:- Появились в 2000 году
- Языки программирования по алфавиту
- Семейство языков программирования Pascal
Wikimedia Foundation. 2010.