ДраконТех
ДраконТех — экспериментальная среда разработки, которая генерирует программный код из блок-схем на визуальном языке ДРАКОН. ДраконТех работает так: вы составляете диаграммы, а генератор кода превращает диаграммы в функции на указанном языке программирования.
Проект в ДраконТех состоит из множества диаграмм. Каждая диаграмма превращается в функцию. ДраконТех сохраняет эти функции в файле исходного кода, который вы включаете в вашу программу.
Преимущества языка ДРАКОН
Проблема с обычными блок-схемами заключается в том, что для рисования нужен талант художника. Если такого таланта нет, блок-схема легко превращается в безумный клубок стрелок. Чтобы избежать этой проблемы, блок-схемы в ДраконТех строятся по правилам визуального языка ДРАКОН. Благодаря этим правилам диаграммы получаются более опрятными. Например, в ДРАКОНе запрещён бич диаграмм — пересечение линий.
Но ещё важнее то, что дракон-схемы предсказуемы. Например, шаги алгоритма всегда идут сверху вниз, а ветвление всегда идёт вправо. Благодаря предсказуемости лучше видно суть алгоритма, так как не нужно разбираться в структуре диаграммы. Структура всех дракон-схем похожа. Более подробно о языке ДРАКОН можно прочитать здесь.
Сверх-быстрый редактор блок-схем
Ключевая особенность ДраконТех — редактор блок-схем, который строит диаграмму автоматически. Пользователю не нужно рисовать. Редактор сам рисует диаграмму. Пользователь только указывает, где поместить следующий элемент или куда переключить соединяющую линию. Редактор располагает элементы диаграммы на холсте самостоятельно.
Кроме того, можно копировать, вырезать и вставлять не только отдельные элементы, но и целые участки диаграммы. При этом редактор сохраняет целостность диаграммы. Не бывает такого, чтобы осталась какая-то стрелочка, которая указывает в пустоту.
Устранение пиксел-хантинга
И конечно, ДраконТех полностью устраняет так называемый пиксел-хантинг, то есть мучения пользователя, который пытается микродвижениями мыши точно соединить элементы на диаграмме. В ДраконТех пользователь только щёлкает мышкой, а диаграмма «растёт» сама.
Автоматическое соблюдение правил ДРАКОНа
Для работы в ДраконТех не нужно помнить язык ДРАКОН. ДраконТех «знает» правила языка ДРАКОН и делает так, что ваши диаграммы автоматически следуют этим правилам.
Работа с большими проектами
Кроме собственно редактора блок-схем, в ДраконТех есть средства, которые помогают работать с большими проектами. Благодаря дереву проектов и папкам проект в ДраконТех может содержать сотни или даже тысячи диаграмм. Есть также поиск, замена, переход к определению функции и поиск мест, где функция встречается. То есть ДраконТех — это не рисовалка, а среда разработки.
Как программировать в среде ДраконТех
Программирование на визуальном языке ДРАКОН в ДраконТех происходит следующим образом. Сначала в дракон-схему вставляют пустые элементы. Потом внутри элементов пишут маленькие кусочки линейного кода. Операторы «если—то» и операторы цикла писать не надо — за это отвечает структура дракон-схемы.
Кусочки кода надо писать на выбранном языке программирования, например JavaScript. В таком случае мы будем писать на гибридном языке ДРАКОН-JavaScript.
Для основных конструкций структурного программирования в ДРАКОНе есть свои аналоги:
- Для «if—else» — икона «Вопрос».
- Для «switch—case» — икона «Выбор».
- Для «for», «foreach» и «while» — икона «Цикл для», цикл со стрелкой и силуэтный цикл.
Икона "Вопрос"
Икона "Выбор"
Икона "Цикл ДЛЯ"
Цикл со стрелкой
Силуэтный цикл
Таким образом, ДРАКОН выражает ветвление и циклы визуально. При этом логика программы легче читается, потому что каждый возможный путь через алгоритм можно проследить пальцем. Это наглядно и гораздо понятнее, чем программный код, где структура имитируется глубиной отступа.
Поддерживаемые языки
ДраконТех генерирует исходный код на нескольких языках:
- JavaScript
- Lua
- Clojure
- Перфолента.Net
- OneScript/1С:Предприятие
При помощи ДраконТех была разработана библиотека DrakonWidget и основанные на ней приложения DrakonHub и ДраконПро.
Для некоторых языков программирования, например JavaScript и Lua, ДраконТех генерирует не только функции, но и классы, а также конечные автоматы.
Понятные программы
Главная цель ДраконТех — сделать программы более понятными. При помощи ДраконТех вы создаёте программу в виде упорядоченных визуальных образов. Это помогает разобраться в вашей программе другим людям. Да что говорить о других! Даже вы поймёте свою программу после долгого перерыва.