Илья Ермаков писал(а):
Из диссертации Недори:
Интересно, почему
подобные тексты нельзя разместить на главной странице OberonCore, для рекламы Oberona?
Цитата:
ВВЕДЕНИЕ
В работе рассматриваются вопросы построения систем программирования (СП), удобных для разработки прикладных систем. Построение СП является основной задачей инструментального программирования. Достаточно сложным (и в большой степени субъективным) является критерий "хорошести" СП. Не претендуя на полноту определения, постараемся привести важные критерии "хорошей" СП.
1) Надежное программирование. Это свойство, очевидно, затрагивает как языки программирования, так и языковое окружение (библиотеки). Важным критерием надежности является раннее обнаружение ошибок, в первую очередь во время компиляции, и динамический контроль в тех случаях, когда статический контроль не возможен. Аккуратный выбор методов реализации окружения позволяет удалить некоторые классы ошибок полностью. Так например, встроенная в окружение сборка мусора обеспечивает отсутствие ошибок, связанных с некорректным освобождением памяти.
2) Переносимость. Нецелесообразным является разработка системы программирования для некоторой конкретной платформы (термин платформа используется как обозначение пары машина + операционная система). Изменения в аппаратуре происходят очень быстро, обостряется конкуренция среди ОС. Для подтверждения этого факта достаточно перечислить ОС, работающие на старших моделях семейства i80x86: MS-DOS, MS Windows, OS/2, Windows NT, NEXTStep, различные реализации системы Unix. Ориентация на конкретную платформу приведет к появлению неконкурентного продукта.
3) Полнота. В последнее время требования к набору библиотек СП существенно возросли, так система обязательно должна включать графическую, оконную и сетевую поддержку. К сожалению, все эти три аспекта остаются за пределами внимания разработчиков языковых окружений, так например, проект стандарта Модулы-2 не содержит библиотеки поддержки графики и окон. Список требований к СП очевидно будет расти и дальше, что приводит к следующему важному свойству "хорошей" СП.
4) Адаптируемость и расширяемость. "Хорошая" система должна предоставлять возможности развития и адаптации под различные требования. Возможность расширения (адаптации, модификации) системы – это единственный способ обеспечить выполнение новых требований, неизвестных на данный момент проектирования системы. В некотором смысле, любая программная система является расширяемой. Мы же будем называть расширяемой системой только такую систему, в которой при добавлении новых возможностей не возникает необходимость в изменении базисных понятий и механизмов.
Цель работы. Целью данной работы являлась реализация "хорошей", а именно расширяемой и переносимой системы (РПС), удовлетворяющей приведенным критериям. Работа по достижению этой цели была разбита на две подзадачи:
выбор подходящих языков, схемы трансляции и реализация переносимых компиляторов (главы 1, 2);
исследования принципов построения расширяемых систем и разработка системы (главы 3, 4).