Языки Оберон-семейства и инструментарий
Краткая характеристика языков Оберон-семейства
- Оберон (Никлаус Вирт, 1988) — изящный компактный язык (меньше и проще Паскаля),
идеален для преподавания основ информатики (computer science), концепций структурного,
модульного и объектно-ориентированного программирования (ООП). Хорошо подходит для
реализации малых и средних проектов. Имеет компиляторы внутри Oberon System и Juice.
Блестящий кандидат на роль эсперанто программирования.
- Oberon-2 (Ханспетер Мессенбок, Никлаус Вирт, 1991) — развитие Оберона в сторону
привычного ООП, в связке с Modula-2 (как языка системного программирования) создает хорошую
основу для реализации крупных проектов из макромира и микромира (встроенных систем, систем
реального времени). Двуязыковая связка отлично реализована в системе XDS (Excelsior).
Позволяет осуществлять кросс-разработку в Win32/Linux за счет трансляторов промышленного
качества в Си и C++. Если нужно обобщение алгоритмов (задействование ООП), написание
автономных программ, устойчивая работа с ОС на уровне системных вызовов, использование
внешних библиотек на других языках, перенос на другие платформы через Cи/C++, эффективная
реализация (оптимальный объектный код), то подходит Oberon-2 в исполнении XDS.
- Компонентный Паскаль/Component Pascal (Клеменс Шиперски, Куно Пфистер, 1997) —
развитие Оберона и Oberon-2 в сторону компонентно-ориентированного программирования (КОП).
Хорошо проявляет себя для программирования в большом. Если требуется строить расширяемую
систему с использованием КОП, подходов программной инженерии, иметь прямой выход на
современные наработки для Win32, .NET и Java Platform, то нужен Component Pascal в
реализациях BlackBox и GPCP. В реализации BlackBox обладает уникальной особенностью
динамического расширения систем ("на лету") за счет поддержки Оберон-компонентов,
легко настраивается на решение задач любого уровня сложности (от преподавания информатики
в школах до сложных исследовательских систем), имеет средство формирования
COM-компонентов со сборкой мусора (Direct-To-COM Compiler), получившее на CeBIT приз за
технологическое совершество.
- Active Oberon (Юрг Гуткнехт, Патрик Реали, 2000) — воплощение в Обероне идеи
активных объектов (мультипроцессные системы для многопроцессорных конфигураций).
Исследовательский проект, выполняемый группой проф. Гуткнехта (ETH, Цюрих). Базовый язык
для реализации ОС Bluebottle — дальнейшего развития системы Oberon. Поддерживает работу
в Win32, на голой машине (PC), сосуществует с Java и .NET. Показал отличную эффективность
в специфических областях (мультимедиа, повсеместный компьютинг).
- Zonnon (Юрг Гуткнехт, Евгений Зуев, 2003) — ревизия Modula-2 и Оберона сквозь
призму идей языка Mesa (Xerox PARC) и платформу Microsoft .NET. Исследовательский проект
группы проф. Гуткнехта. Ориентирован в большей степени на особенности реализации новых
языков и компиляторов для платформы .NET с последующей интеграцией в Microsoft Visual
Studio .NET (2005). Представляет интерес в преподавании на старших курсах вузов, несколько
сложен для начинающих программистов, но достаточно красиво решает проблемы "мирного
сосуществования" модульного программирования, ООП и КОП. Представитель композиционного
программирования.
Основные системы программирования
Платформы |
Oberon-2 |
Component Pascal |
S=W32, T=W32 |
XDS-Win |
BlackBox |
S=W32, T=JAV |
JOB |
— |
S=W32, T=NET |
— |
GPCP-NET, GPCP-Studio |
S=W32, T=ANY |
XDS-C-Win |
— |
S=JAV, T=JAV |
— |
GPCP-JVM, GPCP-Eclipse |
S=LNX, T=LNX |
XDS-Linux |
— |
S=LNX, T=ANY |
XDS-C-Linux, OO2C |
— |
Условные обозначения: |
BlackBox |
— |
BlackBox Component Builder [Oberon microsystems] |
|
XDS-Win |
— |
Native XDS-x86 for Windows [Excelsior] |
S — инструментальная платформа |
XDS-Linux |
— |
Native XDS-x86 for Linux [Excelsior] |
T — целевая платформа |
XDS-C-Win |
— |
XDS-C for Windows [Excelsior] |
|
XDS-C-Linux |
— |
XDS-C for Linux [Excelsior] |
W32 — Win32 |
GPCP-NET |
— |
Gardens Point Component Pascal on .NET [QUT] |
NET — .NET |
GPCP-JVM |
— |
Gardens Point Component Pascal on JVM [QUT] |
JAV — Java (байт-код) |
GPCP-Eclipse |
— |
Gardens Point Component Pascal for Eclipse [QUT] |
LNX — Linux |
GPCP-Studio |
— |
Gardens Point Component Pascal for Visual Studio |
ANY — любая операц. платформа (Си) |
JOB |
— |
JOB Compiler (Oberon-2 to JVM) [С.Свердлов] |
|
OO2C |
— |
Oberon-2 to ANSI-C Translator [OpenSource] |
В качестве основного компилятора языка Оберон при соблюдении определенных правил можно использовать XDS.
|
Города:
O (13 сентября) С.-Петербург
B (19 сентября) Москва
E (26 сентября) Нижний Новгород
R (29 сентября) Екатеринбург
O (2 октября) Новосибирск
N (5 октября) Томск
Информационные ресурсы:
Книги Вирта:
Языки Оберон-семейства:
Инструментарий:
Координаторы турне:
|