Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
knigi_docv / Паронджанов Как улучшить работу ума.doc
Скачиваний:
101
Добавлен:
21.03.2015
Размер:
15.07 Mб
Скачать

Глава 12: Дружелюбное Программирование

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

Том Мануэль

Гибридный язык программирования Дракон-Си

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

Чтобы лучше уяснить преимущества языка ДРАКОН-СИ, произведем мысленно обратное преобразование. Как видно из рис. 90, при преоб­разовании текстовой программы в визуальную исходный текстСИ-про­граммы разбивается на две части. Операторы присваивания, условные выражения и декларативные описания почти без изменения переносятся в визуальную программу и размещаются внутри ее икон. Остальные текстоэлементы языкаСИ(которые можно назвать удаляемыми или “паразитными”) становятся ненужными, превращаясь в графические линии и ключевые слова “да” и “нет” (yesиno). Рисунок 90 показывает, что список паразитных (удаляемых) элементов языкаСИоказывается внушительным: он включает все ключевые слова в примерах1—7 кромеdefault, все фигурные, круглые и косые скобки, двоеточия, метки, комментарии в примерах3—5, и кроме того, точки с запятой в примерах 2, 3, 7 и отчасти 6.

Таким образом, чтобы построить язык ДРАКОН-СИ, надо по определенным правилам соединить визуальный синтаксисДРАКОНАс текстовым синтаксисом языкаСИ, удалив из последнего все элементы, функции которых реализуются визуальными операторамиДРАКОНА. Пара языковСИиДРАКОН-СИэквивалентна в том смысле, что может бытьпостроен конвертор, выполняющий как прямое, так и обратное преобразование. Такой конвертор может превращать исходный текст программы на языкеДРАКОН-СИ(рис. 90, правая графа) в эквивалентнуюСИ-программу (рис. 90, средняя графа), и наоборот.

Создание любого гибридного языка (например, ДРАКОН-СИ) вряд ли стоит считать оригинальной разработкой, так как последний почти полностью сохраняет концепцию, структуру, типы данных и другие особенности исходного языка (СИ). Правильнее говорить о том, что построение гибридного языка (ДРАКОН-СИ) есть технический прием, при котором в строго определенном числе случаев текстовая нотация исходногоязыка заменяется на визуальную. Однако этот технический прием позволяет существенно улучшить эргономический облик исходного языка.

Гибридный язык программирования Дракон-Модула

Обратимся к верхнему примеру на рис. 91. В средней графе представлена программа на языке МОДУЛА-2, в правой — эквивалентная ей программа на языкеДРАКОН-МОДУЛА. В левой графе приводится список ключевых слов, которые используются в модула-программе и являются “жизненно необходимыми” для языкаМОДУЛА, но которые совершенно не нужны в дракон-программе.

С эргономической точки зрения, эти и многие другие ключевые слова, присутствующие в текстовых языках, есть не что иное как визуальные помехи, притягивающие к себе внимание читателя и отвлекающие его внимание от содержательной стороны дела. Эргономическое преимущество ДРАКОНАсостоит в том, что вместо ключевых слов используется визуальный образ, который воспринимается читателем бессознательно, на интуитивном уровне, в то время как канал сознательного внимания действует более продуктивно — для восприятия наиболее важных, содержательных аспектов задачи.