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

МОСКОВСКИЙ ТЕХНИКУМ КОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ

Реферат по предмету

«Технология разработки

программных продуктов»

по теме:

«Языки программирования

Оберон и Оберон-2»

                Выполнил                                                                  ЗнобищевА. В.

                                                                                                                                                             группа МП31-03

Проверил                                                                   СидороваН. А.

2005 г

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Содержание

<span Courier New";color:black">1История создания и развития языка..........................3

<span Courier New";color:black">     1.1 Предшественники языка...............................3

<span Courier New";color:black">     1.2 Проект

<span Courier New";color:black;mso-ansi-language:EN-US">Oberon<span Courier New";color:black">.......................................4

<span Courier New";color:black">1.3Затмение Оберона....................................5

<span Courier New";color:black">1.4Ренессанс Оберона...................................6

<span Courier New";color:black">2 Краткиесведения об авторах языка..........................9

<span Courier New";color:black">        

<span Courier New";mso-bidi-font-style:italic">Никлаус Вирт ...........................................9<span Courier New"">

<span Courier New"">Ханспетер Мессенбок ....................................9

<span Courier New";color:black">3Краткая характеристика основных языков Оберон-семейства...10

<span Courier New";color:black">     3.1 Оберон

<span Courier New";mso-bidi-font-style:italic">.............................................10<span Courier New";color:black">

<span Courier New";color:black">     3.2 Оберон-2

<span Courier New";mso-bidi-font-style:italic">...........................................10<span Courier New";color:black">

<span Courier New";color:black">     3.3 Компонентный паскаль

<span Courier New";mso-bidi-font-style:italic">...............................10<span Courier New";color:black">

<span Courier New";color:black">3.4

<span Courier New";color:black;mso-ansi-language:EN-US">Active<span Courier New";color:black"> <span Courier New";color:black;mso-ansi-language:EN-US">Oberon<span Courier New";mso-bidi-font-style:italic">......................................10<span Courier New";color:black">

<span Courier New";color:black">3.5

<span Courier New";color:black;mso-ansi-language:EN-US">Zonnon<span Courier New";mso-bidi-font-style:italic">.............................................10<span Courier New";color:black">

<span Courier New";color:black">4Отличия от Паскаля

<span Courier New"; mso-bidi-font-style:italic">........................................11<span Courier New";color:black">

<span Courier New";color:black">5

<span Courier New"">Различия между языкамиOberon и Oberon-2..................12

<span Courier New";color:black">5.1

<span Courier New"">Типизированные процедуры...........................12

<span Courier New";color:black">5.2

<span Courier New"">Замороженный экспорт(READ-ONLY EXPORT)...........13<span Courier New"">

<span Courier New";color:black">5.3

<span Courier New"">Открытые массивы...................................13<span Courier New"">

<span Courier New";color:black">5.4

<span Courier New"">Оператор WITH......................................14

<span Courier New";color:black">5.5

<span Courier New"">Оператор FOR<span Courier New""> ......................................14

<span Courier New";color:black">6 Сравнение Оберона с другимиязыками  по сложности.........15

<span Courier New";color:black">

<span Courier New"">Приложение: Описание языкапрограммирования Оберон-2........16

<span Courier New"">

<span Courier New";color:black">

<span Courier New";color:black">Пример программы

<span Courier New";mso-bidi-font-style:italic">............................................36<span Courier New"; color:black">

<span Courier New";color:black">

<span Courier New";color:black">Литература

<span Courier New";mso-bidi-font-style:italic">..................................................39<span Courier New"; color:black"><span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;color:black;mso-ansi-language:RU; mso-fareast-language:RU;mso-bidi-language:AR-SA">

 1 История создания и развития языка.

Судьба Оберона

<span Arial",«sans-serif»; color:black">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) интерес к ООП сталрасти как снежный ком. Стало очевидно, что новый подход к программированию необойдет стороной и другие языки.

<span Arial",«sans-serif»; color:black">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.

<span Arial",«sans-serif»; color:black">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лишком уж они опередили свое время.

<span Arial",«sans-serif»; color:black">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 и за его пределами.

Еслиговорить об интересе к Оберону в остальном мире, то сейчас он более чемсдержанный. Те, кто разобрались, в чем его плюсы, — особенно не афишируют,используя его как конкурентное преимущество в своем бизнесе.

Бытуетмнение, что Оберон сродни объектным СУБД: выглядит красиво, а реально его почтине используют. Но разве то, что используют немногие, говорит об ущербности илинепрактичности? Конечно же, нет. Вопрос в том, сумеем ли мы вопреки шумнойрекламе и сложившемуся статускво ИТ-индустрии приподняться над ветреной модой исуетой рынка и взять Оберон на вооружение. Это зависит лишь от нас самих.

еще рефераты
Еще работы по программированию, базе данных