Языки программирования Оберон и Оберон-2

МОСКОВСКИЙ ТЕХНИКУМ КОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
Реферат по предмету
«Технология разработки
программных продуктов»
по теме:
«Языки программирования
Оберон и Оберон-2»
                Выполнил                                                                  ЗнобищевА. В.
                                                                                                                                                             группа МП31-03
Проверил                                                                   СидороваН. А.
2005 г

Содержание
1История создания и развития языка……………………..3
     1.1 Предшественники языка………………………….3
     1.2 Проект Oberon…………………………………4
1.3Затмение Оберона………………………………5
1.4Ренессанс Оберона……………………………..6
2 Краткиесведения об авторах языка……………………..9
         Никлаус Вирт …………………………………….9
Ханспетер Мессенбок ………………………………9
3Краткая характеристика основных языков Оберон-семейства…10
     3.1 Оберон………………………………………10
     3.2 Оберон-2…………………………………….10
     3.3 Компонентный паскаль………………………….10
3.4 Active Oberon………………………………..10
3.5 Zonnon………………………………………10
4Отличия от Паскаля………………………………….11
5Различия между языкамиOberon и Oberon-2………………12
5.1Типизированные процедуры………………………12
5.2Замороженный экспорт(READ-ONLY EXPORT)………..13
5.3 Открытые массивы……………………………..13
5.4Оператор WITH………………………………..14
5.5 Оператор FOR ………………………………..14
6 Сравнение Оберона с другимиязыками  по сложности………15

Приложение: Описание языкапрограммирования Оберон-2……..16

Пример программы……………………………………..36

Литература…………………………………………..39

 1 История создания и развития языка.
Судьба Оберона
1.1 Предшественники Оберона (Романтические 1970-е)
Паскальумер. Эту фразу приходится слышать довольно часто. Одни произносят ее сностальгией, с налетом грусти, умом понимая, что романтические 1970-е годы ужене вернуть. Другие — без тени эмоций, спокойно, как констатацию приговора,вынесенного самой судьбой. Начало 1970-х ознаменовалось рождением трех языков,роль которых в развитии современного программирования переоценить тяжело.Паскаль (Никлаус Вирт, 1970; ETH, Швейцария), Си (Деннис Ритчи, 1971; AT&TBellLabs, США) и Smalltalk (Алан Кей, 1972; XeroxPARC, США) — эта великая тройка дала путевку в жизнь трем важнейшимнаправлениям: структурному, системному и объектно-ориентированномупрограммированию (ООП). Она определила и разные языковые ветви с непохожимсинтаксисом и существенно отличающейся языковой культурой. Паскаль продолжилстрогую линию Алгола-60, убрав все наносное и упорядочив его фундамент. Трикита структурного программирования (последовательность операторов, ветвление ицикл), закрепленные Чарльзом Хоаром и Никлаусом Виртом в аксиоматическомописании Паскаля, стали столь же незыблемыми в информатике, как законы Ньютонав классической механике. Для математиков, физиков и представителей других наукПаскаль стал унифицированной языковой средой, своего рода латыньюпрограммирования. Как известно, в истории латинского языка выделяют три яркихпериода: золотая латынь (Цицерон, Цезарь, Вергилий, Гораций, Овидий), серебрянаялатынь и поздняя латынь. Язык Паскаль также прошел три этапа: золотой(1970—1985, ETH Pascal, UCSD Pascal), серебряный (1985—1995, Turbo/BorlandPascal) и поздний (с 1995, Delphi).
Язык Си,этот бунтарь-анархист, в начале 1970-х бросил дерзкий вызов всем классическимязыкам. Си не хотел ни внешне, ни внутренне походить на то, что до него знали.Машинная арифметика, ассемблерный стиль программирования, странный синтаксис.Язык получился незамысловатый, хотя и весьма «огнеопасный». Но для тех,кто искал приключений, любил ходить по лезвию ножа, он оказался родным и простонезаменимым. Си имел мощный
практическийфундамент — на нем была написана ОС UNIX, причем росли и учились жизни они боко бок, в одной комнате, в стенах AT&T Bell Labs.
Smalltalkпочти все 1970-е годы был малоизвестен. В лабораториях Xerox только-толькозарождались первые ростки персональных компьютеров, об исследованиях знали лишьпосвященные. Да и в отличие от Паскаля и Си язык сразу сросся со своейинструментальной средой. Это была маленькая селенная, особый мир, в которомтворить можно было буквально все. Рай для детей и взрослых. Но он слишкомопередил время… C++, Java, C# спустя десятилетия шли по его стопам, но уже кудаболее жестким, размеренным, прагматичным шагом.
В этойбольшой тройке Паскаль выделялся ярче остальных. Он появился в период кризисаязыков Алгол семейства и противопоставил имперскому величию Алгола-68 и ПЛ/1изысканность и простоту. Мир больших машин становился все более тесным и душнымдля воплощения новых идей. Человечество смутно искало выход, и революциямикрокомпьютеров, где Паскаль блестяще солировал, стала сильнейшимкатализатором популярности самого известного языка профессора Вирта. Паскальоткрывал широкие перспективы не только перед высшей школой и научным миром, ибоблагодаря унификации резко усилился обмен идеями, но и перед бизнесменами новойволны, рванувшим на «золотые прииски» Кремниевой долины. Практичныеамериканцы подхватили знамя Паскаля и с присущим им размахом стали водружатьего на ключевых высотах. Марка Паскаля была сильна, но в реальности под нейчего только не выпускали. Рынок сначала подмял под себя язык, а затем и размылего на множество несовместимых диалектов. Так от блестящих образцов«золотой латыни» остались одни лишь смутные воспоминания. А что жеВирт? Он старался не отвлекаться на всю ту мишуру и шумиху, которая окружилатакой корыстной заботой его детище. Вдохновленный поездкой в Xerox PARC(1976—1977), где был создан Mesa, один из лучших языков модульногопрограммирования, он приходит к мысли, что всю триаду«компьютер-язык-ОС» надо проектировать одновременно. Только тогдаможно добиться гармонии в этом трудном инженерном деле — конструированииудобной и надежной среды для персональной работы. Один за другим он создаетязыки Modula (1976) и Modula-2 (1979). Причем на этот раз переносит акцент нааппаратную составляющую — компьютер Lilith (1977—1981) стал первым в Европеперсональным 16-разрядным компьютером с растровым дисплеем, винчестером, мышью,лазерным принтером и локальной сетью, при этом был создан силами небольшойгруппы исследователей из университетского центра. Он работал под управлениемсобственной модульной ОС — Medos (автор — Свен Кнудсен), полностью написаннойна новом языке Вирта (Modula-2). Более того, для эффективности выполнения нааппаратном уровне была реализована поддержка M-кода, дальнейшего развитиязнаменитого P-кода Вирта (кода виртуальной Паскаль-машины), который спустяпочти четверть века после своего появления был положен в основу платформы Java.За эти работы Никлаус Вирт в 1984 г. был представлен ассоциацией ACM к высшейнаграде — премии Алана Тьюринга (Alan Turing Award), которая в компьютерномнаучном мире эквивалентна Нобелевской премии. 1980-е годы прошли под знакомколоссального интереса к персональным компьютерам. Apple и IBM начали своевеликое противостояние в мире ПК. Но как же далеки были эти компьютеры от того,что было сделано в лабораториях Xerox и учебных корпусах ETH! Отраслипотребовалось еще целое десятилетие, чтобы подобраться к идеям, реализованнымвдохновенными инженерами по обе стороны Атлантики. На страницах PC World, PCMagazine, BYTE не только замелькала реклама новинок рынка, но и сталипоявляться статьи, определявшие пути развития компьютерного мира. Благодаряфеномену языка Smalltalk (точнее, системы Smalltalk-80) интерес к ООП сталрасти как снежный ком. Стало очевидно, что новый подход к программированию необойдет стороной и другие языки.
1.2 Проект Oberon
Осенью 1985г. Вирт и его коллега Юрг Гуткнехт начинают проект Oberon. Вновь создаваласьтриада «язык-компьютер-ОС». На этот раз акцент переносился на ОС ипроизошло более четкое разделение труда. Вирт проектировал язык и писалкомпилятор, Ганс Эберле конструировал компьютер, а Гуткнехт создавал системуOberon. На самом деле работы над новым компьютером начались немного раньше.Дальнейшее развитие Lilith поставило, по словам Вирта, задачу создания«современной, гибкой и эффективной операционной системы дляоднопользовательской рабочей станции». Поначалу казалось, что этого можнобыло добиться в рамках Medos и Modula-2. Лишь затем стало ясно, что нужны болеекардинальные шаги. Если Lilith (архитектор — Ричард Оран) создавался на основемикропроцессоров AMD2901 фирмы Advanced MicroDevices, то Ceres (так звали новыйкомпьютер, в честь богини Цереры)
использовал32-разрядный процессор NS32032 фирмы National Semiconductor (затем ужеNS32532 иNS32GX32). Вслед за серией Ceres в ETH был разработан компьютер Chameleon(Хееби Пфистер). Первой ОС была Medos, да и первый компилятор Оберона создавалсяна языке Modula-2 (Вирт).
СистемеOberon предшествовали исследования, которые проводились в ETH в 1981—1985 гг.на Lilith Юргом Гуткнехтом и его коллегами, Винигером и Шером. Сначала появилсяредактор Andra с поддержкой всевозможных окон, шрифтов, средств композициистраницы, а затем и редактор Lara. Примерно в тот же период Вирт разработалграфический редактор и завершил работы над новым однопроходным компиляторомязыка Modula-2.
К середине1988 г. уже был готов компилятор для экспериментальной рабочей станции Ceres-2 (набазе NS-32532) и прошли первые публикации Вирта (в апреле и июле; сначала«Type Extensions» в ACMTransactionsonProgrammingLanguagesandSystems, а затем “FromModulatoOberon” в SoftwarePractice& Experience).
«Компилятор Оберона был реализован дляпроцессоров семейства NS32000 и был встроен в операционную среду Oberon. Этоткомпилятор требует менее 50 Кбайт памяти, состоит из 6 модулей общим размеромоколо 4000 строк исходного текста и сам себя компилирует примерно за 15 секундна рабочей станции с 25 МГц процессором типа NS32532». Никлаус Вирт (1988)
Втораястадия проекта Oberon наступила летом 1991 г., когда было положено начало так
называемойOberon System 3.
«Графические интерфейсы нынеиспользуются повсеместно, и игнорировать это проявление духа времени не можетсебе позволить ни одна серьезная операционная система. Поэтому летом 1991 г. мыприступили ко второй стадии проекта Oberon. Однако, в ту пору мы хотели непросто облачить по сути „голую“ систему Oberon в нарядные GUI-одежды,но и сделать важный шаг вперед. Несколько раздвигая границы устоявшихсяпредставлений, мы сразу стали рассматривать графический интерфейс как набористинных визуальных объектов».Ю. Гуткнехт (1994)
О системеOberon следует говорить куда более обстоятельно, чем это позволяют рамки даннойстатьи. Здесь же упомяну, что многие ключевые идеи взяты на вооружениесовременной ИТ-индустрией из системы Oberon: динамическая компиляция и аплеты,смарт-теги и Digital Dashboard, концепция интеллектуального документа ивеб-службы.
Одно из наиболее перспективных направленийдальнейшего развития Oberon — превращение его в усовершенствованную общуюплатформу для предоставления услуг удаленным пользователям; слово«усовершенствованную» мы понимаем в данном случае как гибкую, высоко интегрированнуюи индивидуализированную. К настоящему времени мы провели эксперименты поорганизации следующих услуг удаленным пользователям (и реализовали доступ к нимчерез Ethernet и TCP/IP):
• электронный телефонный справочник;
• электронный справочник пассажиражелезной дороги;
• электронный словарь;
• фотосервис Digital Kodak;
• информационная система по географииШвейцарии;
• служба символьных вычислений Maple;
• служба TrueType-шрифтов;
• FTP;
• электронная почта;
• управляющая служба Telnet;
• поддержкаWorld Wide Web;
• Teletext иTelenews.
Ю. Гуткнехт(1994)
Подобнотому, как в свое время ОС UNIX начала ветвиться (System V и BSD), в ETHвозникли две конкурирующие группы — Oberon V4 и Oberon System 3. Да и самасистема Oberon оказалась непростой для самостоятельного изучения: интеркликимышкой — почти азбука Морзе. Спроектирована она была хорошо, а вот реализацияподкачала (главным архитектором проекта был Гуткнехт; главного инженера, увы,не было). Удобной становится после длительного освоения и только дляпосвященных — тех, кто сумел набраться терпения и преодолеть все издержкиэкспериментального программирования. Система Oberon оказалась Великой Китайскойстеной, отделяющей новаторов-затворников от остального мира. Будучи хорошейбазой для исследований Oberon System сыграла роковую роль в судьбе самих языковОберон-семейства. Она затмила собой одноименный язык, созданный Виртом сучастием Гуткнехта, окружив его «теплом и заботой».
«Перечислитьвсе идеи, на основе которых сформировалось то, что сегодня называется
Обероном, —писал Вирт, — просто нет возможности. Большинство этих идей родилось в ходе
применения илиизучения существующих языков (таких, как Modula-2, Ada, Smalltalk, Cedar),
которые частопоказывали нам, каких решений следует избегать». На сегодняшний день компиляторыканонического Оберона доступны только внутри системы Oberon и системы Juice
(Oberon Systemдля Netscape и Internet Explorer), а также представлены транслятором COP2
(трансляция вСи). В контакт с агрессивным внешним миром коммерческих систем вступили
последователиОберона: Oberon-2 и Component Pascal, а затем Active Oberon и Zonnon. Силы вETH в 1990-е годы были сосредоточены на создании переносимых и перенацеливаемыхкомпиляторов для разных платформ. Этим занимались преимущественно аспирантыВирта и
Гуткнехта.Кадры выросли очень сильные, апробированные идеи можно плодотворно изучать до сихпор (диссертации почти все как на подбор), а вот результат их работы почтинеизвестен
дажеспециалистам.
К февралю1990 г. был готов переносимый компилятор OP2. Кстати, именно его брали заоснову при начале работ над компилятором Oberon-2 Алексей Недоря и егоновосибирские коллеги по XDS. В июне 1989 г. Ханспетер Мессенбок спроектировалObject Oberon, добавив ООП-расширения в канонический Оберон. Именно Мессенбока,пожалуй, и следует считать автором Oberon-2, в который вылился Object Oberon.Вирт не возражал против соавторства в языке, поскольку расхождения по сравнениюс Обероном были не фатальными, хотя и не лежали в рамках того критическоговзгляда на ООП, который исповедовал сам Вирт. Весной 1991 г. в журнале StructuredProgramming (издательство Springer-Verlag, в редколлегии были Н. Вирт и Д.Кнут) в одном номере вышли две статьи, давшие публичную жизнь языку Oberon-2:«The Programming LanguageOberon-2» и “DifferencesbetweenOberonandOberon-2”, под которыми стояли фамилии Мессенбокаи Вирта.
К моментупоявления Oberon-2 в 1991 г. информация об Обероне только-только стала выходитьиз стен ETH. Сторонние разработчики компиляторов сделали ставку именно наOberon-2, считая, что это просто улучшенный Оберон. При этом важно отметить,что распространение пошло не по линии Open Source — едва ли не каждый стороннийразработчик компиляторов хотел сделать на новом языке свой бизнес.
В июне1993 г. в Кройдоне, что в предместье Лондона, в отеле Oakwood собрались заинтересованныелица, многие из которых получили горький опыт затяжной промышленной
ISO-стандартизацииModula-2. Были там и главные архитекторы лучших Оберон-компиляторов:
Алексей Недоря(XDS), Гюнтер Дотцель (ModulaWare), Куно Пфистер (Oberon microsystems),
ДжонГуг(John Gough, QUT,GPCP). В ходе дискуссий быливыработаны рекомендации и
стандартнаябиблиотека для Oberon-2. Ее следы вы теперь найдете в компиляторах XDS и JOB.
1.3 Затмение Оберона
В 1993 г.в ETH приехали представители Sun Microsystems во главе с Биллом Джоем. Они
приобрелилицензию на систему Oberon и пригласили с ответным визитом выступить у них лучшихучеников Вирта — Микаэль Франц сразу после защиты соответствующей диссертации в
ETH делалдоклад по динамической кодогенерации в Sun Labs в марте 1994 г., за 14 месяцевдо
выхода Java иза полгода до разработки браузера HotJava.
Согласно информации Sun [JavaSoft], идеяпереориентации Java на World Wide Web возникла в 1994 г. и принадлежала БиллуДжою, одному из основателей фирмы. Осенью 1994 г. Началась работа по реализацииWeb-браузера HotJava с возможностью выполнения аплетов. В марте 1995 г. браузербыл представлен избранному кругу стратегических партнеров Sun, включая руководствокорпорации Netscape Communications, чья публичная поддержка впоследствии немалоспособствовала успеху новой технологии. В августе 1995 г. состоялсятриумфальный выпуск Java, который происходил в довольно необычной для базовых технологийформе — в виде серии пресс-конференций.… может быть интересно тообстоятельство, что в марте 1994 г. автором был прочитан в Калифорнии ряддокладов по теме диссертации, причем один из них — в Sun Laboratories, Inc. Крометого, упомянутый выше Билл Джой, который переориентировал проект Java на WWW,стал одним из первых обладателей лицензии на Oberon System из ETH, и в конце1994 — начале 1995 г. он неоднократно связывался с ETH; в процессе контактоввыяснилось, что он читал мою диссертацию.
Микаэль Франц(1996)
В 1994 г.Франц, разрабатывавший ранее кодогенератор Оберона для MC680x0 (Macintosh), завершилкодогенератор в промежуточный код — OMI (Oberon Module Interchange). Впервые нарусском языке информация об этом была опубликована в альманахе “Технология
программирования”(1995, №1). Идея Франца была проста — вместо традиционной схемы “компилятор —компоновщик — загрузчик” получить схему “компилятор — кодогенерирующий
загрузчик”,иными словами, совместить генерацию кода, компоновщик и загрузчик в одном
флаконе.
Концепция“code-generation on-the-fly” (динамическая кодогенерация, кодогенерация налету) с использованием компактного древовидного представления вместоклассического байт-кода была положена в основу одноименной диссертации М.Франца, которую он защищал в ETH в феврале 1994 г. Его научными руководителямибыли Никлаус Вирт и Юрг Гуткнехт. Крайне интересная диссертация. Помню, как оней в среде Modula- и Оберон-сообщества только и говорили (почти с придыханием).Редкий случай — в Цюрихе в марте 1994 г. она была переиздана в виде книги.
В Sun нерискнули сразу копировать все из Oberon (идеи браузерной среды языка, аплетов итрансляции в мобильный код взяли, а вот путь реализации мобильного кода выбралисвой). В 1991 г. автор Java Джеймс Гослинг при реализации Oak (прототипа языкаJava) взял старую идею P-кода, которую хорошо знал: в 1975 г. Гослинг вместе сНедом Китлицем и Бобом Сайдботемом участвовал в построении средыпрограммирования Pyxis/Multics Pascal, способной по быстродействию кода и удобствуинтеграции на равных конкурировать в Multics c родным для этой ОС языком ПЛ/1.А начинали они с поддержки компилятора ETH/Zurich Pascal, разработанного вЦюрихе группой профессора Вирта. В 1979 г. Гослинг реализовал PERQ — трансляторс P-кода в машинный код DEC VAX.
В 1994 г.Sun не стали рисковать включением новейшей хитроумной реализации мобильногокода в древовидном представлении, что предлагал в диссертации Франц, асохранили готовый подход Гослинга. Для всей отрасли модель Sun на долгие годыстала эталоном. К тому моменту широкой аудитории доступ к Оберон-компиляторамбыл заказан: даже при нынешнем уровне пиратского тиражирования стольспецифичный инструментарий, имеющий единичные продажи, заполучить нереально.
Единственныйигрок, кто мог cделать массовый коммерческий компилятор Оберона – компания TopSpeed(JPI) — в те годы шел к закату. Их последним движением в сторону новых языков Виртабыло включение в Modula-2 собственных ООП-расширений. (Напомню, что фирма
JPI/TopSpeedвышла из недр Borland. Ее, увы, короткая жизнь началась после того, как в знак
протеста противзамораживания проекта Turbo Modula-2 в угоду рыночным перспективам раскрученногоTurbo Pascal компанию Borland покинула группа вице-президента Йенсена.)
БрюсБаррингтон, основатель и глава Clarion Software, приобрел компанию TopSpeed,гдеосновным рабочим языком был Modula-2, для перевода своего детища, языкаClarion, на рельсы лучших в ПК-отрасли компиляторов TopSpeed (Assembler,Modula-2, Pascal, C/C++). В связи с этим был заморожен проект TopSpeed Ada, азатем и все остальные компиляторы (они остались на 16-разрядной платформе).Единицы знают, что внутри среды Clarion (теперь этот бизнес ни шатко ни валковедет фирма SoftVelocity) до сих пор запрятан 32-разрядный компилятор TopSpeedModula-2, так никогда и не вышедший на рынок.
Это былеще один удар по Оберонам.
Но самоймощной волной, накрывшей Обероны с головой и на долгие годы предавшей их
забвению, сталаJava. Она стремительно ворвалась в ту нишу, которую себе подготовил Оберон, нахрапистои без какого-либо упоминания вырвала многие его идеи, высосала лучшие кадры. Ноесли бы еще это делалось с умом. А так… С другой стороны, прошло 10 лет смомента появления Java, и теперь после ревизии ошибок прошлого можно взглянутьна Обероны по-новому. Как и Smalltalk, cлишком уж они опередили свое время.
1.4 Ренессанс Оберона
Продолжимкраткий рассказ об истории языков Оберон-семейства. Новый виток в их жизни началсяв том момент, когда в ETH созрела идея создания небольшой компании (Oberon
microsystems),ориентированной на внутренний швейцарский рынок (в основном, это были
промышленныероботы). Главным мотором стал Куно Пфистер, а архитектором Component
Pascal —Клеменс Шиперски.
К концу1990-х годов на волне очевидного негатива к Sun в ETH пришла Microsoft.Начались совместные проекты (по линии Microsoft Research), совпавшие по временис проектированием платформы .NET. Клеменс Шиперски из Oberon microsystemsперешел в Microsoft Research. К тому моменту он уже завоевал огромный авторитетв мире компонентно-ориентированного проектирования и программирования благодарякниге «Component Software — Beyond Object- Oriented Programming». Таместь отдельная глава, посвященная системе BlackBox (Component Pascal). Книгавышла в 1997 г., затем дважды стереотипно переиздавалась в 1998 г., затем дваждыв 1999 г., наконец второе ее издание вышло в 2002 г.
КомпонентныйПаскаль проектировался так, чтобы, с одной стороны, иметь возможность работать сосновной компонентной моделью — COM (Oberon/F, предвестник BlackBox, получил вконце 1990-х годов на CeBIT приз за технологическое совершенство — зареализацию Direct-to-COM Compiler), а с другой — с миром Java. При этом вOberon microsystems (где, кстати, был написан по заказу Borland JIT-компилятордля JBuilder) начались работы по использованию Component Pascal для миравстроенных систем (ОС Portos, ныне JBed). Именно эти работы положили начало зарождениюкомпании Esmertec — мирового лидера заказных решений для Java 2 Micro Edition.
Средикритиков Оберона можно слышать слова о том, что если он обладал стольсовершенными технологиями, то почему его не видно на рынке. Честно говоря,трудно привести примеры, когда за последние четверть века технологическоесовершенство в инфраструктурном или инструментальном программном обеспечениипредопределяло безусловное лидерство на рынке. Обратных примеров сколькоугодно.
Чтобыпонять ту пропасть, которая отделяет нынешнюю ИТ-индустрию от взвешенногонаучно- технологического подхода, стоит задаться вопросами:
1. ЗачемBorland в 1980-х годах утопила в своих недрах технологически наиболеесовершенную среду Turbo Modula-2? Правильно, в угоду своего рыночногоположения, дабы этим не убить   свой жеTurbo Pascal — курицу, несущую золотые яйца.
2. Почему в1990-х годах элегантный Smalltalk так и не смог поколебать позиции уродливого C++,неумело поставившего крайне модные тогда идеи ООП на рельсы Си? Верно, не в интересахMicrosoft и Borland было восстанавливать былую мощь IBM в областиинструментария.
3. ПочемуMicrosoft не вывела на орбиту очень приличный Eiffel Бертрана Мейера? Помните,как Билл Гейтс лично хлопал мэтра по плечу и всячески расхваливал компиляторEiffel for .NET? Книгу Мейера о .NET превозносили до небес. Но… мавр сделалсвое дело — мавр должен уйти. Профессор Мейер был нужен Гейтсу лишь дляраскрутки .NET. Мейер ушел в затворничество в швейцарский ETH — альма-матервиртовских языков.
4. Почемукомпания Esmertec, отпочковавшаяся от Oberon microsystems и сделавшая в конце 1990-хгодов свою дуальную ОС Portos для встроенных систем (Оберон+Java), вынужденабыла практически полностью перевести свою продукцию на рельсы Java? Точно, еслирынок предпочитает для себя худший язык (Java) и худшую среду (Java 2 MicroEdition) — пожалуйста, они сделали это просто лучше всех в отрасли и стализдесь лидерами. А вслед за этим
реализовали икомпактный Smalltalk для систем реального времени.
Впоследние годы ИТ-индустрия насильно превращает университеты в ремесленныеучилища. При этом Россия благодаря своей защитной инертности умудрилась вомногом сохранить оазис неремесленного программирования. И Delphi явился тойпалочкой-выручалочкой, которая этому во многом способствовала. За это Delphiбольшое спасибо. Но сейчас перспективы Delphi в маркетинговом плане выглядятвесьма туманно. На платформе Linux инструментарий Kylix заморожен. Borlandстала по сути филиалом Microsoft и нужна редмондскому гиганту, чтобы достойнопротивостоять линейке IBM Rational. Но дело не только в более чем реальномуходе Delphi с рынка. Уже сейчас специалисты по Delphi остаются в индустрииневостребованными. А поскольку университеты стремительно сращиваются синдустрией, то Delphi будет вымываться из учебного процесса. На этом может бытьпоставлена жирная точка в судьбе языков Паскаль- семейства.
Миринструментария все больше становится двухполюсным: Microsoft — IBM. КомпанияSun Microsystems вопреки огромной шумихи не только почти ничего серьезного несделала в Java за 10 лет (весь воз корпоративной Java почти в одиночку тащилаIBM), но и своим апрельским соглашением 2004 г. с Microsoft фактически объявилавойну своему бывшему союзнику.
На рынкеИТ все более усиливается пропагандистская война, битва за умы. Здесь неуместны рассужденияо технологическом совершенстве и, упаси Боже, о какой-то там науке!
Причинызабвения Оберона выглядят так:
• распылениесил и средств внутри ETH (V4 против System 3, Оберон против Oberon-2);
•распространение лучших оптимизирующих компиляторов единичными тиражами на
коммерческойоснове;
• отсутствиегрупп пользователей (User Groups) и собственных изданий;
• слабаяинтернет-активность;
• мощная волнаJava-пропаганды;
• оттокспециалистов в коммерческий мир Java и .NET.
И все же самымиглавными стали три момента:
1. Отсутствиечеткой программы популяризации/вывода языков на рынок.
2. Колоссальныйинформационный голод.
3.Игнорирование резко выросшего потенциала OpenSource-движения.
Но язык неповорачивается обвинить во всем этом ETH. Он вел интенсивные исследования и совершенствовалсвой учебный процесс, в чем достиг выдающихся результатов, а вот поддержка «народныхмасс» в Швейцарии и близлежащих европейских странах оказалась слабоватой. Америкеже Оберон был чужд и, наверное, наивно было бы полагать, что его подобноПаскалю начнут активно продвигать американцы, у которых был теперь свой«золотой телец» в лице Java.
И все жеОберон отнюдь не умер. Люди, занимавшиеся и продолжающие заниматься им,
стараются неособо это афишировать. За примерами далеко ходить не надо. Ученик Вирта,
Микаэль Франц,создал внутри университета Калифорнии в Ирвайне свою маленькую Оберон-
империю. Воттолько он об этом не кричит на каждом перекрестке. Все финансирование проектов идетдля его группы только по линии Java. Ныне его команда — один из мировых лидеровв исследовании мобильного кода и проблем ИТ-безопасности для Java. Ирониясудьбы, ярый противник Java ведет перспективные Java-проекты для американскогоВПК.
КритикиОберона не ставят под сомнение элегантность языка (да и перспективность всего семейства),а считают устаревшим доступный для него инструментарий и неустойчивое
положениекомпаний-разработчиков. С позиций таких IDE-систем, как Visual Studio, Delphi и
Eclipse, он всамом деле выглядит по-спартански скромным, без «свисточков извоночков». В то
же времяблагодаря Клеменсу Шиперски (Microsoft Research) и группе Пола Ро вКвинслендском
университете(Австралия) ориентированный на компонентное программирование диалект
Оберона в лицеComponent Pascal имеет три актуальных реализации для Visual Studio (.NET 1.x и 2.0),Java(JVM) и Eclipse(JVM). Юрг Гуткнехт совместно с ЕвгениемЗуевым (ETH) продолжают развивать компилятор Zonnon для .NET с интеграцией вVisual Studio. Наконец, в России ведутся работы по переносу, пожалуй, основнойинструментальной среды для Оберонов — BlackBox (ComponentPascal) с платформы Win32 на Linux. Направление микромира — браузеров ивстроенных систем (не только военного назначения, а чисто бытового: мобильныетелефоны, коммуникаторы, КПК) — крайне выгодно отличает Oberon от всехостальных языков. И хотя в связи с коммерческой активностью на этом рынкекомпании Esmertec Оберон-технологии носят закрытый характер, частьинструментария публично доступна для дальнейшего развития. Потенциалминиатюрного компилятора JOB (Oberon-2 для JVM), созданный Сергеем Свердловым, вполнепригодился бы для этого рынка. В области браузеров есть технология Juice(Oberon System для Netscape и IE), реализованная Микаэлем Францем иприостановленная в связи с переключением его группы на работы для Министерстваобороны США по безопасности мобильного Java-кода. На ее основе можно делатьзамечательные вещи. Только представьте, что в любом современном браузере можноиметь Оберон-движок, который является полноценным компилятором с динамическимкодогенерирующим загрузчиком, имеет полный доступ к ОС и модули которого внешне(с точки зрения HTML) оформляются как Java-аплеты. Код аплетов получаетсяпримерно в 1,5-2 раза меньше, чем у Java, скорость исполнения — практически одинаковая.Все это выполнено еще в 1996 г. в виде подключаемого модуля для Netscape и InternetExplorer и занимает около 400 Кбайт. Есть все исходные тексты (на C++реализована прослойка для ОС и браузера, на языке Оберон — все остальное).Очень перспективная вещь для задач, ориентированных на технологию тонкихклиентов и требующих нешаблонных решений.
Поворотныйэтап в развитии Оберона начался с переводом BlackBox в категорию freeware иOpen Source (конец 2004 г.). В мае 2005 г. новосибирская фирма Excelsior (XDS)перевела свою линейку Modula-2/Oberon-2 компиляторов в разряд freeware, вследза началом разработки нового компилятора Modula-2 для НПО ПМ им. Решетнева,ведущего российского центра по созданию спутников связи. Одновременно с этимпрофессор Никлаус Вирт начал работы по адаптации своих бестселлеров для языкаОберон и перевод в открытый доступ своих лучших книг. Важнейшую роль ввозрождении интереса к Оберону сыграла растущая активность нарождающегосяОберон-сообщества в России, которую стимулировал проект«Информатика-21», стартовавший на физфаке в МГУ в 2001 г. (автор — Ф.В. Ткачев). Вокруг проекта сформировалась панель консультантов, представляющихаэрокосмическую индустрию, Российскую академию наук и МГУ. Весной 2004 г. набазе швейцарского CERN (Европейский центр ядерных исследований, Женева), откудавышел World Wide Web, с участием России были инициированы работы по активномуприменению Component Pascal в фундаментальных научных исследованиях. С 2003 г.в рамках «Студии программирования» журнала «Мир ПК» и CD- приложения«Мир ПК-диск» начались регулярные публикации работ по развитиюОберона и размещение соответствующего инструментария.
Всентябре-октябре 2005 г. с большим визитом по нашим крупнейшим университетскимцентрам (Москва, С.-Петербург, Нижний Новгород, Новосибирск, Екатеринбург,Томск) Россию посеетил Никлаус Вирт и Юрг Гуткнехт. Осенью этого года начнетвыходить электронный журнал «Школа Оберона», ближе к концу года (к35-летию Паскаля и 25-летию выпуска Lilith) запланировано открытие сайта, вкотором будет собрана и систематизирована информация о прошлом, настоящем ибудущем языков Вирта, в том числе о новых проектах в ETH и за его пределами.
Еслиговорить об интересе к Оберону в остальном мире, то сейчас он более чемсдержанный. Те, кто разобрались, в чем его плюсы, — особенно не афишируют,используя его как конкурентное преимущество в своем бизнесе.
Бытуетмнение, что Оберон сродни объектным СУБД: выглядит красиво, а реально его почтине используют. Но разве то, что используют немногие, говорит об ущербности илинепрактичности? Конечно же, нет. Вопрос в том, сумеем ли мы вопреки шумнойрекламе и сложившемуся статускво ИТ-индустрии приподняться над ветреной модой исуетой рынка и взять Оберон на вооружение. Это зависит лишь от нас самих.