Никлаус Вирт  в  России
Niklaus Wirth  in  Russia
Главная страница  /  События БОЛЬШОЕ ТУРНЕ  Н. ВИРТА

От Паскаля к Оберону
Анонс "Мир ПК-диска" (09/2005)

Многие из нас начинали делать свои первые шаги в мире программирования с языка Паскаль. На протяжении нескольких десятилетий он играл крайне важную роль в преподавании информатики. Для математиков, физиков и представителей других наук он стал унифицированной языковой средой, своего рода латынью программирования.

Как известно, в истории латинского языка выделяют три ярких периода: золотая латынь (Цицерон, Цезарь, Вергилий, Гораций, Овидий), серебряная латынь и поздняя латынь. Язык Паскаль также прошел три этапа: золотой (1970—1985, ETH Pascal, UCSD Pascal), серебряный (1985—1995, Turbo/Borland Pascal) и поздний (с 1995, Delphi). При этом различные диалекты Паскаля, которые столь сильно расходятся с каноническим вариантом профессора Никлауса Вирта (ETH, Цюрих), во многом сыграли негативную роль, затмив собой куда более совершенные его языки — Modula-2 (1979) и Оберон (1988).

С ростом популярности UNIX в 1980-х годах стала набирать силу новая ветвь языков — Си (1971), C++ (1986), Java (1995), C# (2000). Это семейство стало агрессивно-доминирующим и фактически вытеснило из индустрии все остальные языки. Лишь с бурным ростом Интернета определенным противовесом ей стали представители сценарного программирования (Perl, Python, PHP и др.).

На этом фоне со стороны ИТ-индустрии, оказывающей мощное воздействие на университеты и академическую науку, началось беспрецедентное наступление на Паскаль и его преемников. Оно было обусловлено рыночными интересами мировых лидеров (Microsoft, IBM, Sun) и использовало разрозненность Паскаль-сообщества, активно насаждая различные мифы. Из всех критических работ по Паскалю, пожалуй, наибольшую известность получила статья Брайана Кернигана "Почему Паскаль не является моим любимым языком программирования", которая в 1981 г. появилась на свет в виде препринта AT&T Bell Laboratories. Для многих апологетов Си она стала знаменем 'религиозной' борьбы с Паскалем. Керниган намеренно умалчивал о работах Вирта, направленных на устранение проблем языка. А ведь к весне 1980 г. Вирт и его коллеги не только уже завершили работы по компьютеру Lilith и языку Modula-2 (1977—1981), но и опубликовали их результаты. Более того, за эти работы Вирт в 1984 г. был представлен ассоциацией ACM к высшей награде — премии Алана Тьюринга (Alan Turing Award), которая в компьютерном научном мире эквивалентна Нобелевской премии. Об этом, к сожалению, знали очень немногие.

И все же самой мощной волной, накрывшей Modula-2 и Оберон с головой и на долгие годы предавшей их забвению, стала Java. Она стремительно ворвалась в ту нишу, которую себе подготовил Оберон, нахраписто и без какого-либо упоминания вырвала многие его идеи, высосала лучшие кадры. Прошло 10 лет с момента появления Java, и теперь после того, как эйфория от его появления заметно спадает и наступает пора переосмысления, можно взглянуть на Обероны по-новому. Слишком уж они опередили свое время.

Современное программирование, увы, давно уже превысило тот предел сложности, за которым разработчик теряет контроль над пониманием и надежностью создаваемых им систем. Сложные языки, громоздкий инструментарий, большое число правил и еще большее число исключений, запутанная "законодательная база", раздутая до немыслимых размеров "судебная практика", нестабильное и подчас непредсказуемое поведение операционной среды — вот что характеризует нынешние передовые системы программирования.

Как известно, рост производительности процессорной техники все еще подчиняется знаменитому закону Гордона Мура, открытому в 1965 г. Закон гласит, что новые модели микросхем разрабатываются спустя примерно одинаковые периоды (18—24 месяца) после появления своих предшественников, а их емкость (число транзисторов) при этом возрастает каждый раз примерно вдвое. Те языки, которые попали в сферу интересов 'большой индустрии', по всей видимости подчиняются этому же закону (разумеется, речь идет о размере, занимаемом соответствующей системой программирования на диске после ее установки). Если за точку отсчета взять Turbo Pascal 1.0 (осень 1983 г., 130 Кбайт), а за нынешний ориентир — Visual C++ (Visual Studio 2005 Beta, осень 2005 г., 1,5 Гбайт), то нетрудно видеть, что закон Мура действует и здесь, предсказывая, что к 2006 г. объем в 2 Гбайт будет для языков нормой.

В этом контексте для многих выглядит крайне странным стремление профессора Вирта каждый свой последующий язык все более упрощать, добиваясь предельной ясности, строгости и поддержки большинства популярных подходов (парадигм) программирования: "Поддержание языка максимально простым и регулярным всегда было приоритетом в моей работе: описание Паскаля занимало около 50 страниц, Modula — около 40, а Оберона — и вовсе 16...".

Принципу сундука (хранить множество вещей на всякий случай про запас) Вирт противопоставил принцип чемоданчика (держать только самое необходимое). Соответствующих компактных размеров добились и системы программирования: ядро Оберона (включая редактор и компилятор) занимает около 200 Кбайт, система XDS-x86 (компиляторы Modula-2/Oberon-2 и трансляторы в Cи/C++) — 23 Мбайт, система для разработки компонентов промышленного уровня требований, BlackBox (Component Pascal) — 34 Мбайт.

Вершиной творчества Вирта стал язык Оберон, названный так в честь самого дальнего спутника Урана, мимо которого в 1986 г. пролетал американский аппарат Voyager-2. А само имя этой малой луне было дано в честь короля эльфов из знаменитого произведения Вильяма Шекспира "Сон в летнюю ночь" (все кратеры на Обероне названы по именам персонажей Шекспира — Гамлет, Антоний, Ромео, Фальстаф, Макбет, Отелло, Лир, так что Оберон посвящен и памяти великого английского драматурга).

Оберон как эсперанто программирования имеет блестящие перспективы: нейтралитет (neutrala lingvo), безупречная репутация, преемственность традиций, выразительная мощь, отображение на ведущие языки, простота изучения и восприятия, наличие проверенного годами инструментария. Что важно, это не мертвый язык. Семейство Оберон, включающее языки Oberon-2, Component Pascal, Active Oberon, Zonnon и созданное в стенах знаменитой Высшей Политехнической школы ETH в Цюрихе, где учились Альберт Эйнштейн и Джон фон Нейман, продолжает развиваться на всем спектре ведущих платформ (Win32, Linux, .NET, Java/Eclipse) и в самых разных сферах: от мобильных телефонов и промышленных роботов до систем управления гигантскими гидросооружениями мира.

В 2004—2005 г.г. профессор Вирт адаптировал свои бестселлеры для языка Оберон и придал им свободный статус. Эти книги и множество других редких и интересных материалов, раскрывающих эволюцию языков Вирта за последние четыре десятилетия, вы найдете на нашем диске.

Города:

O  (13 сентября)  С.-Петербург
B  (19 сентября)  Москва
E  (26 сентября)  Нижний Новгород
R  (29 сентября)  Екатеринбург
O  (2 октября)      Новосибирск
N  (5 октября)      Томск

Информационные ресурсы:


Книги Вирта:


Языки Оберон-семейства:


Инструментарий:


Координаторы турне: