Re[16]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 18:07
Оценка: :)
Уважаемые коллеги!

В этом сообщении речь пойдет о семействе ДРАКОН-языков.
То есть о гибридных языках.
А также о структурах данных.

ГИБРИДНЫЕ ЯЗЫКИ ДРАКОН-СЕМЕЙСТВА

ГРАФИЧЕСКИЙ И ТЕКСТОВЫЙ СИНТАКСИС ДРАКОНА


ДРАКОН – графический (визуальный) язык, в котором используются два типа элементов:

• графические фигуры (иконы),
• текстовые надписи, расположенные внутри или снаружи икон (текс-
тоэлементы).

Следовательно, синтаксис ДРАКОНа распадается на две части.

Графический (визуальный) синтаксис охватывает алфавит икон, правила их размещения в поле чертежа и правила связи икон с помощью соединительных линий. Графический синтаксис описан в главе 33.

Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к иконам. (Привязка необходима потому, что внутри разных икон используются разные типы выражений).

Оператор языка ДРАКОН — это икона или комбинация икон, взятые вместе с текстовыми надписями.

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

§12. СЕМЕЙСТВО ДРАКОН-ЯЗЫКОВ

Дракон – не один язык, а целое семейство, которое может включать практически неограниченное число дракон-языков. Все гибридные языки дракон-семейства имеют одинаковый графический синтаксис. Это обеспечивает зрительное сходство дракон-схем различных гибридных языков.

Каждый гибридный язык семейства отличается тем, что имеет свой собственный текстовый синтаксис.

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

При этом единообразие правил графического синтаксиса гибридных языков обеспечивает их концептуальное единство. А разнообразие текстовых правил (то есть возможность выбора любого текстового синтаксиса) определяет гибкость языков и легкую настройку на различные предметные и иные области.

§13. КАК ПОСТРОИТЬ ГИБРИДНЫЙ ЯЗЫК
ПРОГРАММИРОВАНИЯ В ОБЩЕМ СЛУЧАЕ?


Чтобы построить гибридный язык, нужно выполнить 5 шагов.

Шаг 1. Выбрать целевой язык (например, язык Си).

Шаг 2. Использовать графический синтаксис языка Дракон в качестве графического синтаксиса гибридного языка Дракон-Си.

Шаг 3. Использовать синтаксис целевого языка (синтаксис языка Си) в качестве текстового синтаксиса гибридного языка Дракон-Си.

Шаг 4. Удалить из текстового синтаксиса гибридного языка Дракон-Си все элементы, которые заменяются управляющей графикой ДРАКОНа.

Шаг 5. Создать транслятор из дракон-схемы в исходный код языка Си.

Примечание. Язык Си выбран для примера. Вместо него можно подставить любой целевой язык.


Пример. Предположим, пользователь работает в связке Дракон-конструктор – Транслятор Дракон-Си – Keil. Понятно, что исходником служит дракон-схема. При отладке программы не следует вносить исправления в промежуточные текстовые Си-файлы. Все исправления нужно вносить в исходный код, то есть в дракон-схему.

Петр Приклонский сообщает:


§14. ДВА ЭТАПА РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

С точки зрения человеческого фактора, в истории развития языков программирования можно выделить два этапа.

На первом этапе появились языки высокого уровня, которые (по сравнению с ассемблером) сделали исходный текст программы более понятным и удобным для человека. И значительно увеличили производительность труда программистов.

На втором этапе (который, по-видимому, только начинается) некоторые языки высокого уровня смогут работать в сочетании с языком Дракон, образуя гибридные языки. При этом функция исходного кода программы переходит к дракон-схемам.

Это позволит отказаться от текстовых управляющих структур, используемых в языках высокого уровня, и заменить их на управляющую графику Дракона.

Что это даст? Исходный код программы станет еще более понятным и удобным для человека. И, следовательно, еще больше увеличится производительность труда программистов.

§15. ПЛАН РАЗВИТИЯ И ЧАСТИЧНОЙ УНИФИКАЦИИ
ЯЗЫКОВ ПРОГРАММИРОВАНИЯ


Опыт использования языка Дракон и гибридных языков позволяет предложить план развития и частичной унификации языков высокого уровня из трех пунктов.

1. Использовать графический синтаксис языка Дракон в качестве
стандарта, позволяющего осуществить частичную унификацию
языков высокого уровня.

2. Текстовый синтаксис следует заимствовать из целевого языка. При
этом следует удалить все элементы текстового синтаксиса, которые
заменяются управляющей графикой Дракона.

3. Преобразовать языки высокого уровня в гибридные языки.
Как показывают первые опыты подобной работы, переход от языков
высокого уровня к гибридным языкам программирования свидетельствует о заметном повышении производительности труда программистов.

§16. ВЫВОДЫ

1. Язык Дракон можно присоединить к некоторым языкам программирования и получить так называемые гибридные языки:

язык Дракон + язык Си = гибридный язык Дракон-Си

язык Дракон + язык Дельфи = гибридный язык Дракон-Дельфи

язык Дракон + язык Джава = гибридный язык Дракон-Джава

язык Дракон + язык Си# = гибридный язык Дракон-Си#

язык Дракон + язык Питон = гибридный язык Дракон-Питон

язык Дракон + язык Перл = гибридный язык Дракон-Перл

язык Дракон + язык Руби = гибридный язык Дракон-Руби

язык Дракон + язык Ада = гибридный язык Дракон-Ада

язык Дракон + язык Tcl = гибридный язык Дракон-Tcl

язык Дракон + язык Оберон = гибридный язык Дракон-Оберон

язык Дракон + язык Ассемблер = гибридный язык Дракон-Ассемблер

и т. д.

2. Гибридный язык почти полностью сохраняет концепцию, струк-
туру, типы данных и другие особенности целевого языка. В строго
определенном числе случаев текстовая нотация целевого языка за-
меняется на графическую нотацию Дракона. Такой прием позволя-
ет улучшить эргономический облик гибридного языка и повысить
производительность труда программистов.
С уважением В. Паронджанов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.