На мой взгляд, интересным вектором развития программных инструментов являются среды типа Mathcad или SMath. А именно, в таких средах программа вводится не в форме текста как последовательности литер, а как некая визуальная семантическая структура. Например, при выборе оператора ветвления (из панели инструментов или горячей клавишей) автоматически вводится конструкция из слов if и else, где в местах условия и операторов для истинной и ложной ветви находятся placeholder’ы — места, куда можно и нужно вставлять свой код. Слова if и else — часть конструкции и их редактировать невозможно. Преимущество такого подхода в том, что в процессе работы уже имеем синтаксическое дерево — не требуется отдельной операции синтаксического анализа, кроме того изчезает целый класс ошибок ввода текста: типа ESLE вместо ELSE. Другие сопутствующие плюсы — математическая нотация (дроби, степени, индексы). Недостаток — программа неудобна для обработки сторонними инструментами, т.к. хранится или в виде двоичного файла, или в виде XML. В отличие от языка Дракон, который тут обсуждается, программа имеет вид программы на алгоритмическом языке, а не блок-схемы.
Написал несколько туманно, поэтому кто хочет лучше понять, что я имел ввиду, может посмотреть
здесь примеры программ (ссылка «Примеры» в правом нижнем углу), либо скачать бесплатную программу
SMath, либо скачать триальную
Mathcad на 30 дней.
В курсе кто-нибудь, есть ли другие подобные средства графического ввода программ?