Рэйлвэй Каген писал(а):
Было бы весьма приятно иметь возможность плоского представления указанных связей, раз уж линейная запись для них существует. Но не в рамках Дракона, а рядом - в качестве равноправной компоненты IDE, взаимодействующей в Дракон-схемами.
Именно так! То есть основная идея у меня состояла не в том, чтобы совсем заменить традиционный язык программирования Драконом, а в том, чтобы дополнить им средства разработки программ. Ну и в рамках этого подхода задача трансляции дракон-схем в объектный код уже не столь актуальна. Получается как бы два уровня проектирования: верхний -- определяет структуру будущего модуля, взаимосвязь сущностей модуля; и нижний -- собственно декларации и код процедур.
Работа в такой системе должна выглядеть примерно так. Программист открывает Дракон-схему и обозревает структуру модуля, читает информативные заголовки веток, написанные на естественном языке. Затем, если решает поработать с кодом (нижний уровень), получает к нему доступ путём активации нужной иконки на схеме.
А вот где проводить границу между Драконом и исходным кодом -- это вопрос. С одной стороны все ключевые моменты модуля должны быть отражены на схеме, с другой стороны схема не должна быть засорена утомительными подробностями.
Опять же подчеркну, что говорю всё это на уровне идеи. Пока не ясно нужна ли вложенность схем, или действовать по принципу "один модуль -- одна схема".
Можно пойти дальше, использовать схемы в IDE не только для представления модулей, но и всего проекта. Иконки, соответствующие модулям и сущностям модуля, снабдить ссылками на соответствующие разделы справки.
Вобщем, перспективы практического использования языка Дракон в программировании я вижу именно
в симбиозе этого языка с традиционными языками программирования в рамках конретной IDE.