http://xbb.uz/dev/Algoritmicheskij-jazyk-DrakonЭту статью написал Ваниликин
Цитата:
«Слушайте, граждане,» — сказали советские конструкторы космической техники в далёком 1986-м году, — «а почему это нам приходится постоянно дёргать программистов, даже ради создания несложного софта? Давайте-ка сделаем так, чтобы любой инженер мог самостоятельно справиться!» Так появилась совершенно потрясающая разработка — ДРАКОН, применяемая РосКосмосом в промышленном масштабе с 1996-го. О ней и расскажем.
Суть вкратце
«ДРАКОН» — своеобразная аббревиатура. Расшифровывается она так: Д — Дружелюбный, Р — Русский, А — Алгоритмический язык, К — Который, О — Обеспечивает, Н — Наглядность.
Наглядность обеспечивается на самом деле. Алгоритмы, доступные для создания целостных программ, отображаются в виде блоков на дисплее компьютера. Всякие прямоугольники, соединённые линиями и стрелочками. Внутри них указаны действия. Всё это называется ДРАКОН-схемы. (Причём, некоторые прямоугольники — с закруглёнными углами. Такой дизайн запатентован конторой Apple. Правда, Apple явно побаивается подавать в суд на РосКосмос.)
Так вот, инженер, сконструировав какой-нибудь прибор, может самостоятельно создать программу для управления устройством, просто передвигая блоки — элементы ДРАКОН-схемы. Без ручного написания исходного кода.
Гибриды
Хотя в вышеупомянутом исходном коде разбираться необязательно, обойтись без него всё равно нельзя. Ведь алгоритмы, представленные в виде схем, всё равно нужно преобразовывать в нечто пригодное для компиляции. И одновременно понятное как можно большему количеству среднестатистических специалистов.
Всякие велосипеды, конечно изобретали, но здравомыслие победило: разумные люди принялись прикручивать к ДРАКОН-схемам уже существующие языки программирования (выбрав самые популярные, естественно). Получились гибриды, такие как «Дракон-Си», «Дракон-Java», «Дракон-Perl» и, с особенно красивым названием, «Дракон-Питон».
Следовательно, программисты совсем уж без работы не остались, ведь кому-то же надо заглядывать под прямоугольники, открывать исходные коды и вносить какие-либо поправки, ежели возникает необходимость.
Среда разработки
Конечно же, управление ДРАКОН-схемами происходит не просто так, а внутри какой-то компьютерной программы. Впрочем, почему в какой-то, есть вполне конкретный, пригодный для работы софт: DRAKON Editor 1.13, присутствующий на SourceFordge (вот здесь: sourceforge.net/projects/drakon-editor/files/). По заверениям создателя, Степана Миткина, позволяет изготавливать софт на языках Java, Javascript, C#, C++, C (обычный Си), Python, Tcl, Lua и Erlang.
Можно устанавливать в Windows и Mac OS. Требует поддержки Tcl (доведётся обратиться к проекту ActiveTcl). В GNU/Linux тоже работает, но необходимы компоненты tcl8.5, tk8.5, libsqlite3-tcl, tcllib и libtk-img.
В Windows запускается двойным кликом на файле drakon_editor.tcl, а в Mac OS и GNU/Linux — командой в терминале: tclsh8.5 drakon_editor.tcl (после неё через пробел можно указать имя файла, который нужно открыть в редакторе).
Есть и альтернативное решение: «Интегрированная Среда ДРАКОН», именуемая также «ДРАКОН-редактор». Создатель: Тышов Геннадий Николаевич.
Данный редактор, после расстановки блоков, умеет преобразовывать результат в коды на языках программирования Delphi, Си, Oberon и даже ASM. Правда, запустить его можно только в операционной системе Windows. Да и брать дозволено лишь на девять месяцев, а потом нужно получать какую-то лицензию.
Другие среды разработки или не доведены до ума, или работают в древней ОС MS DOS, или предназначены для внутреннего использования в разных конторах. Например, московский «Научно-производственный центр автоматики и приборостроения» создал продукт под названием «ГРАФИТ-ФЛОКС-система», заточенный под их производственные нужды и не очень-то интересный широким слоям программирующих граждан.
Кому это нужно
Алгоритмический язык ДРАКОН нужен международному проекту «Морской старт», конструкторам космических аппаратов «Фрегат» и ракет-носителей «Протон-М». По непроверенным данным, кто-то также пытался создавать софт для охранных систем, электронных замков, всяких сигнализаций и прочих мелочей.
Широкому распространению и повсеместному внедрению вроде бы ничего не препятствует, однако почему-то никто особо не рвётся популяризировать сей столь удобный и практичный инструмент.
Вот если бы можно было делать приложения для ОС Android (как, например, AppInventor), то популярность пришла бы. А так... Впрочем, Google не дремлет.
Google Blockly
Ценная концепция не должна пропадать, решили в Google, и 13 июля 2012-го года группа энтузиастов анонсировала визуальный язык программирования Blocky.
Человек перетаскивает модули, похожие на элементы цветной головоломки, и таким образом выстраивает алгоритмы в программу. Потом это можно скомпилировать, например, в Python.
Мало того, что код проекта распространяется под лицензией Apache, так ещё и прямо в браузере работает, поскольку написан на JavaScript. Хотя, зачем лишние слова, каждый может зайти на страницу проекта code.google.com/p/blockly/ и выстроить из команд-модулей демонстрационную программу для преодоления лабиринта. Получается даже у детей.
Правда, ничего серьёзного на Blocky пока не сотворить, большие приложения ему не по силам. Проект ведь совсем юный. Это же не ДРАКОН, родившийся в 1986-м.
Заключение
Вот и получается, что если проект ДРАКОН не возьмётся за ум и не адаптируется к современным условиям, то так и останется востребованным лишь аэрокосмическими конторами да парой исследовательских институтов.
Никто не берётся за продвижение и популяризацию? Значит, не судьба. Таковы современные условия.
Даже если Blocky не разовьётся и не окрепнет под крылышком Google, появятся другие аналогичные проекты, ведь свято место, как известно, пусто не бывает в принципе, и хорошие идеи всегда найдут своих реализаторов.
Автор: vanilinkin, специально для xBB.uz, 13.10.2012