На базарной площади довольно часто можно слышать высказывания об
Обероне. Мне кажется, что на базарной площади пора появиться ветке об
этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы
этой системы, что
полезного можно извлечь из него для программирования на Дельфи
(например) и др.
Ivan
Всего в теме 4531 сообщение
Ссылки по теме "Оберон" и "Компонентный паскаль"
Отслеживать это обсуждение
- Free Pascal, Oberon, BlackBox
- Разработка препроцессора gpre для delphi\freepascal.
- Component Pascal и среда разработки BlackBox
- FreePascal: реальная альтернатива или OpenSource — блажь?
№ 2621 15-08-2005 02:30 | |
№ 2620 12-08-2005 10:42 | |
№ 2619 12-08-2005 08:52 | |
Ответ на »сообщение 2618« (Trurl)
___________________________
Что касается ИТ-индустрии, было бы странно ожидать успеха Оберона в этой области.
:o)
Понимайте ИТ-индустрию шире: это не только и не столько промышленное и кустарное производство тиражируемого и заказного ПО, но также сфера высшего и профессионального образования, заточенного под требования индустрии, а также область НИОКР (R&D), под которую финансирование выделяется с обязательным прицелом на ИТ-индустрию.
№ 2618 12-08-2005 08:41 | |
Ответ на »сообщение 2614«
Что касается ИТ-индустрии, было бы странно ожидать успеха Оберона в этой области.
№ 2617 12-08-2005 08:01 | |
Информация к размышлению.
Кол-во страниц, проиндексированных Google (на 12.08.2005), по некоторым языкам программирования. Указан текст поискового запроса.
Табл. 1.
<Java programming language> 13.400.000
<C++ programming language> 6.910.000
<C# programming language> 1.550.000
<Delphi programming language> 757.000
<"Object Pascal" programming language> 108.000
<Eiffel programming language> 329.000
-------------------------------------------------
<Modula programming language> 183.000
<Oberon programming language> 148.000
<"Component Pascal" programming language> 4.620
Табл. 2.
<Java ~software> 84.600.000
<C++ ~software> 23.600.000
<C# language> 5.680.000
<Delphi ~software> 4.820.000
<"Object Pascal" ~software> 178.000
<Eiffel ~software> 706.000
-------------------------------------------------
<Oberon ~software> 648.000
<Modula ~software> 326.000
<"Component Pascal" ~software> 6.020
=== Примечания
1. Тильда используется в Google для поиска по синонимам.
2. Вместо языка Modula-2 указывалось название Modula, поскольку язык Modula известен крайне узкому кругу специалистов, имеет единичные публикации, и название Modula (в том числе и с подачи Вирта) используют как синоним для Modula-2.
3. Object Pascal (в контексте Delphi) использовался как синоним языка Delphi (из-за чехарды с именованием языка), при этом он затрагивает и область другого одноименного языка для Apple. В таблицах он расположен следом за Delphi.
Вместо вывода: ситуация с Оберонами не столь печальна, как это можно было бы априори полагать.
№ 2616 12-08-2005 07:38 | |
Ответ на »сообщение 2614« (Руслан Богатырев)
___________________________
Окончание размышлений...
В 1993 г. в ETH приехали представители Sun Microsystems во главе с Биллом Джоем. Они приобрели лицензию на систему Oberon и пригласили с ответным визитом выступить у них лучших учеников Вирта -- Микаэль Франц делал доклад по кодогенерации на лету в Sun Labs в марте 1994 г. (я писал об этом довольно подробно), за 14 месяцев до выхода Java и за полгода до разработки браузера HotJava.
К тому моменту широкой аудитории доступ к Оберон-компиляторам был заказан: даже при нынешнем уровне пиратского тиражирования столь специфичный инструментарий, имеющий единичные продажи, заполучить нереально.
Единственный игрок, кто мог 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) до сих пор запрятан (в нескольких DLL) 32-разрядный компилятор TopSpeed Modula-2, так и не вышедший на рынок.
Это был еще один удар по Оберонам.
Но самой мощной волной, накрывшей Обероны с головой и на долгие годы предавшей их забвению, стала Java. Она стремительно ворвалась в ту нишу, которую себе подготовил Оберон, нахраписто и без какого-либо упоминания вырвала многие его идеи, высосала лучшие кадры. Но если бы еще это делалось с умом, может быть, было бы и не столь обидно. А так... С другой стороны, прошло 10 лет с момента появления Java, и теперь после ревизии ошибок прошлого можно взглянуть на Обероны по-новому. Слишком уж они опередили свое время, при этом за прошедшие годы заметно отстали в исполнении задуманного.
Но продолжим краткий рассказ об истории Оберонов. Новый виток в их жизни начался в том момент, когда в ETH созрела идея создания небольшой компании (Oberon microsystems), ориентированной на внутренний швейцарский рынок (в основном, это были промышленные роботы). Главным мотором стал Куно Пфистер, а архитектором Component Pascal (по крайней мере, первый Report был написан им) -- Клеменс Шиперски (Clemens Szyperski).
К концу 1990-х годов на волне очевидного негатива к Sun в ETH пришла Microsoft. Начались совместные проекты (по линии Microsoft Research), совпавшие по времени с проектированием платформы .NET. Шиперски из Oberon microsystems перешел в Microsoft Research. К тому моменту он уже завоевал огромный авторитет в мире компонентно-ориентированного проектирования и программирования благодаря книге "Component Software -- Beyond Object-Oriented Programming". Там есть отдельная глава, посвященная языку 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.
Поворотный этап (надеюсь, ренессанс) в развитии Оберонов начался с переводом BlackBox в категорию freeware и OpenSource (конец 2004 г.). В мае 2005 г. новосибирская фирма Excelsior (XDS) перевела свою линейку Modula-2/Oberon-2 компиляторов в разряд freeware, ибо новый компилятор Modula-2 для НПО ПМ им.Решетнева ( http://www.excelsior-usa.com/pr20040923.html) делается с нуля. Одновременно с этим проф. Никлаус Вирт начал работы по адаптации своих бестселлеров для языка Oberon и перевод в открытый доступ своих лучших книг.
Если резюмировать, причины забвения Оберона выглядят так:
a) распыление сил и средств (V4 и System 3; разные языки без вразумительной схемы миграции);
b) распространение лучших компиляторов единичными тиражами на коммерческой основе;
c) отсутствие User Groups и собственных изданий;
d) слабая интернет-активность;
e) мощная волна Java-пропаганды;
f) отток специалистов в коммерческий мир Java и .NET.
И все же самыми главными стали три момента:
1. Отсутствие четкой программы популяризации/вывода языков на рынок.
2. Колоссальный информационный голод.
3. Игнорирование резко выросшего потенциала OpenSource-движения.
№ 2615 12-08-2005 06:41 | |
Ответ на »сообщение 2612« (Сергей Губанов)
___________________________
ftp.inf.ethz./pub/publications/dissertations/th10650.ps.gz
Еще рекомендую статью Франца The case for universal symbol files
№ 2614 12-08-2005 06:41 | |
Некоторые размышления о том, как и почему Oberon и его диалекты оказались на "задворках" ИТ-индустрии
Тема болезненная, но умалчивание, на мой взгляд, будет только вредить делу. Сразу оговорюсь, что высказываю исключительно личную точку зрения.
Сначала о хронологии.
Даты уточненных описаний языков приведены ниже.
1. Oberon (Niklaus Wirth). "Oberon Language Report" (October 1990)
2. Oberon-2 (Hanspeter Moessenboeck). "The Programming Language Oberon-2" (March 1995)
3. Component Pascal (Cuno Pfister). "Component Pascal Language Report" (March 2001)
Следует учитывать, что это даты последних изменений, сами языки и компиляторы появлялись несколько раньше. Вот ориентиры для реальных лет создания языков:
1987. Oberon
1991. Oberon-2
1997. Component Pascal
Итак, проект Oberon стартовал в ETH осенью 1985 г. (скоро грядет 20-летие старта). К середине 1988 г. уже был готов компилятор для экспериментальной рабочей станции Ceres-2 (на базе National Semiconductor 32532) и прошли первые публикации Вирта (в апреле и июле; сначала "Type Extensions" в ACM TPLS, а затем "From Modula to Oberon" в Software Practice & Experience).
Компьютер Ceres уже не играл в проекте Oberon такую же центральную роль, как Lilith для Modula-2. На этот раз в центре внимания была система Oberon (Oberon System).
В ней заложено немало новаций (динамическая расширяемость, кодогенерация на лету, аплеты, прообразы нынешних смарт-тегов; тотальная ориентация на smart-документы -- Microsoft к понятию Smart Document едва только подползает, в 2006 г. мы увидим его первое приближение).
Но будучи хорошей базой для исследований Oberon System сыграла роковую роль в судьбе самих Оберонов. Подобно тому, как в свое время ОС UNIX начала ветвиться (System V и BSD), в ETH возникли две противоборствующие группировки -- Oberon V4 и Oberon System 3 (Гуткнехт, проект стартовал в 1992 г.).
Да и сама система Oberon оказалась крайне сложной для самостоятельного изучения: интерклики мышкой -- почти азбука Морзе. Спроектирована она была хорошо, а вот реализация подкачала (главным архитектором проекта был Гуткнехт; главного инженера не было). Даже для разработчиков очень ненадежная. Удобной становится после длительного освоения и только для посвященных -- тех, кто сумел набраться терпения и преодолеть все издержки исследовательского программирования.
Система Oberon оказалась Великой Китайской стеной, отделяющей новаторов-затворников от остального мира. Удивительно, но даже простого компилятора языка Oberon для Win32 так и не было создано.
Силы в ETH были сосредоточены на создании переносимых (и перенацеливаемых) компиляторов для разных платформ. Этим занимались преимущественно аспиранты Вирта и Гуткнехта. Кадры выросли очень сильные, апробированные идеи можно плодотворно изучать до сих пор (диссертации почти все как на подбор), а вот результат их работы оказался далек от реальной практики и, к сожалению, почти неизвестен даже специалистам.
К февралю 1990 г. был готов переносимый компилятор OP2. Кстати, именно его брали за основу при начале работ над компилятором Oberon-2 Алексей Недоря и его новосибирские коллеги по XDS.
В июне 1989 г. Ханспетер Мессенбок спроектировал Object Oberon, добавив ООП-расширения в канонический Oberon. Именно Мессенбока и следует считать автором Oberon-2, в который вылился Object Oberon. Вирт не возражал против соавторства в языке, поскольку расхождения по сравнению с Обероном были не фатальными, хотя и не лежали в рамках того критического взгляда на ООП, который исповедовал сам Вирт.
Весной 1991 г. в журнале Structured Programming (издавался Springer-Verlag, в редколлегии были Н.Вирт и Д.Кнут) в одном номере вышли две статьи, давшие публичную жизнь языку Oberon-2: "The Programming Language Oberon-2" и "Differences between Oberon and Oberon-2", под которыми стояли фамилии Мессенбока и Вирта.
Напомню, что в 1986 г. появился бестселлер Бьерна Страуструпа "The C++ Programming Language", где описывался C++ Release 1.0. К 1989 г. число пользователей C++ достигло отметки 50 тыс. Корпорация Microsoft на долгие-долгие годы сделала его своим главным языком.
К моменту появления Oberon-2 в 1991 г. информация об Обероне только-только стала выходить из стен ETH. Сторонние разработчики компиляторов сделали ставку именно на Oberon-2, полагая, что это просто улучшенный Oberon. При этом, что важно отметить, распространение пошло не по линии Open Source -– едва ли не каждый сторонний разработчик компиляторов хотел сделать на новом языке свой бизнес (еще одна причина падения Оберонов).
В июне 1993 г. в Кройдоне, что в предместье Лондона, в отеле Oakwood собрались заинтересованные лица, многие из которых получили горький опыт промышленной ISO-стандартизации Modula-2. Были там и главные архитекторы лучших Оберон-компиляторов: Алексей Недоря (XDS), Гюнтер Дотцель (ModulaWare), Куно Пфистер (Oberon microsystems), Джон Гуг (John Gough, QUT, GPCP).
Были выработаны рекомендации и стандартная библиотека для Oberon-2. Ее следы вы теперь найдете в компиляторах XDS и JOB.
(Продолжение чуть позже).
№ 2613 12-08-2005 06:08 | |
Ответ на »сообщение 2612« (Сергей Губанов)
___________________________
Эта диссертация очень интересная. Крайне советую с ней познакомиться.
Более того, есть ряд ценных идей из сферы модульного программирования, проигнорированных Оберонами в нынешнем виде (и Компонентным Паскалем тоже, о Java, C++ и C# вообще молчу). К этой критике со временем можно будет вернуться.
Материалы выйдут на сентябрьском диске. Сейчас архивы ETH по диссертациям и Technical Reports полузакрыты (нет многого из того, что раньше лежало в открытом доступе). Попробуйте поискать внутри сайтов ETH, возможно с этой диссертацией Вам повезет.
№ 2612 12-08-2005 05:21 | |
Ответ на »сообщение 2611« (Руслан Богатырев)
___________________________
3. Compiler Construction -- The Art of Niklaus Wirth
Hanspeter Moessenboeck
Pages: 55–68
http://www.ssw.uni-linz.ac.at/Research/Papers/Moe00b.html
Спасибо, толковая вещь!
Там в ссылках 8-мой пункт:
Regis Creiler "Separate Compilation and Module Extension". ETH dissertation 1994
Кто-нибудь знает, можно ее раздобыть?
Отслеживать это обсуждение
Дополнительная навигация: |
|