Многие из нас начинали делать свои первые шаги в мире программирования с языка Паскаль.
На протяжении нескольких десятилетий он играл крайне важную роль в преподавании информатики.
Для математиков, физиков и представителей других наук он стал унифицированной языковой
средой, своего рода латынью программирования.
Как известно, в истории латинского языка выделяют три ярких периода: золотая латынь (Цицерон,
Цезарь, Вергилий, Гораций, Овидий), серебряная латынь и поздняя латынь. Язык Паскаль также
прошел три этапа: золотой (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 г.г. профессор Вирт адаптировал свои бестселлеры для языка Оберон и придал им
свободный статус. Эти книги и множество других редких и интересных материалов, раскрывающих
эволюцию языков Вирта за последние четыре десятилетия, вы найдете на нашем диске.