Re[6]: Язык ДРАКОН — новая идея в программировании
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.06.12 23:22
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>

TSP>ИМХО, так эргономичнее.

Это уже графический оверхэд.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Mr.Cat  
Дата: 14.06.12 00:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А как с рекурсией и стеком? Выражать рекурсию через циклы с внешними стеками? Убиться об стену в некоторых случаях.

В wwf с рекурсией вроде фигово, так что да, циклы. В том немногом, что я видел из bpel — возможна как минимум косвенная рекурсия (может, и прямая, не пробовал), т.к. процесс (грубо говоря — блок-схема) может вызвать другой процесс.

VD>А сами стеки как выглядят?

В wwf для девелопера, в конечном счете, блок-схема (кажется, "шаблон процесса" по-тамошнем) — обычный класс, так что состояние блок схемы теоретически может включать произвольные сериализуемые поля. В bpel состояние инстанса блок-схемы (процесса) — это практически xml-документ.

VD>И вообще, как визуализировать мало-мальски пухлые данные? Они ведь в блок-схемы никак не вписываются.

Не совсем понимаю, что ты имеешь в виду, но скорее всего ответ — никак. На то они и блок-схемы, чтобы описывать алгоритм, а не данные.
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 14.06.12 09:06
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

VD>>как визуализировать мало-мальски пухлые данные? Они ведь в блок-схемы никак не вписываются.

MC>Не совсем понимаю, что ты имеешь в виду, но скорее всего ответ — никак. На то они и блок-схемы, чтобы описывать алгоритм, а не данные.

Уважаемый Mr.Cat!

Вы совершенно правы. В дракон-схемах (в блок-схемах) пишут только алгоритм. И, возможно, простые ("непухлые") данные.

VD тоже совершенно прав. Он ставит законный вопрос: "как визуализировать мало-мальски пухлые данные?"

Ответ такой: http://drakon.su/_media/biblioteka/grafit_a4.pdf

1. "Пухлые" данные пишут не в блок-схеме, а в другом месте.

2. Данные не обязательно визуализировать.

В технологии Графит-Флокс само название отражает два понятия:

графит — это алгоритм (блок-схема),
флокс — это данные, заданные в форме таблиц (флокс-таблиц).

Все данные (очень "пухлые") помещаются в базу данных ФЛОКС.

Блок-схемы (графит-алгоритмы) вводятся в ПК через графит-редактор.

Данные (флокс-описания) вводятся в ПК через флокс-редактор.

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

Я говорю о том, как работает Технология разработки алгоритмов и программ Графит-Флокс во ФГУП "НПЦАП"
http://drakon.su/_media/biblioteka/grafit_a4.pdf
С уважением В. Паронджанов
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 14.06.12 10:47
Оценка:
Здравствуйте, VladD2, Вы писали:

LVV>>Я думаю, Владимир Данилович сам может рассказать, в каком месте использовался Дракон.


VD>Дык где же он? Просим, просим!


Уважаемый VladD2!

На этом форуме я уже два раза отвечал на этот вопрос.
Из уважения к администратору повторю ответ еще раз:

ПРИМЕНЕНИЕ ЯЗЫКА ДРАКОН В РАКЕТНО-КОСМИЧЕСКОЙ ОТРАСЛИ

Язык ДРАКОН успешно используется во многих космических программах:

• разгонный блок космических аппаратов ДМ-SL (проект «Морской старт»);

• разгонный блок космических аппаратов «Фрегат» (включая Фрегат-СБ, Фрегат-МТ, Фрегат с модернизированной системой управления);

• модернизированная ракета-носитель тяжелого класса «Протон-М»;

• разгонный блок космических аппаратов ДМ-SL-Б (проект «Наземный старт»);

• разгонный блок космических аппаратов ДМ-03;

• первая ступень для южнокорейской ракеты-носителя легкого класса KSLV-1 (Korean Space Launch Vehicle);

• ракета-носитель легкого класса Ангара 1,2;

• ракета-носитель тяжелого класса Ангара-А5;

• разгонный блок космических аппаратов КВТК (кислородно-водородный тяжелого класса) и др.

Космодромы:

Плавучий космодром, производящий пуски с экватора в Тихом океане (экваториальная зона вблизи острова Рождества Республики Кирибати (с координатами 154 градуса западной долготы и 0 градусов широты)),

Байконур,

Плесецк,

Европейский космический центр во Французской Гвиане "Kuru" (Южная Америка),

Южнокорейский космодром "Naro".

__________________________________________________

Скажу о себе. Я работаю в Роскосмосе с 1961 года. Участвовал в разработке Бурана с первого до последнего дня.
В тот период (1976 — 1992) я был Начальником лаборатории комплексной разработки вычислительной системы Бурана.

Дракон родился в процессе работы на Бураном. Это совместная разработка ФГУП Научно-производственный центр автоматики и приборостроения им. акад. Н.А. Пилюгина и Института прикладной математики им. акад. М.В. Келдыша РАН.

Технология Графит-Флокс (основанная на языке Дракон) разрабатывалась, начиная с 1986 года и была доведена до рабочего состояния в 1996 году. Данная технология эксплуатируется уже 16 лет (1996 — 2012).

Данная технология использовалась во всех перечисленных выше ракетно-космических проектах.

Я написал около десятка книг на эту тему, которые можно скачать в сети или купить в магазинах.
Вот, например, последняя книга (2012 год), которая есть в продаже и в бумажном, и в цифровом виде:
http://www.dmk-press.ru/catalog/computer/programming/?p=1

Через интернет с этой литературой познакомились не знакомые со мной специалисты, которые по своей инициативе создали (пока еще экспериментальные) инструментальные средства.

Некоторые пользователи (пока еще немногочисленные) используют эти средства в своей практической работе. Они сообщают о значительном повышении производительности труда при создании алгоритмов и программ. Положительные отзывы поступают из России, Германии, Норвегии.

Информация на эту тему обсуждается на Форумах сайта "Визуальный язык ДРАКОН" с 2008 года.
http://forum.oberoncore.ru/viewforum.php?f=77

На форумах сайта "Визуальный язык ДРАКОН" свыше 300 тем, 7500 ответов.

По языку ДРАКОН и инструментальным средствам (например, ИС Дракон) имеются и другие форумы и сайты.
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: lseder lseder.livejournal.com
Дата: 14.06.12 16:39
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Язык ДРАКОН успешно используется во многих космических программах:

Нескромный вопрос, на ракетах которые упали недавно пару раз, ваш софт стоит ? ))


ВП>Космодромы:

ВП>Плавучий космодром, производящий пуски с экватора в Тихом океане (экваториальная зона вблизи острова Рождества Республики Кирибати (с координатами 154 градуса западной долготы и 0 градусов широты)),
ВП>Байконур, ВП>Плесецк, ВП>Европейский космический центр во Французской Гвиане "Kuru" (Южная Америка),
ВП>Южнокорейский космодром "Naro".
То есть, если , не дай бог, жизнь заставит писать софт для ракет, то от осваивания дракона не отвертеться.
Хорошо хоть не модно щас деньги сжигать такими объемами, как раньше, во времена гонки вооружений.
Вон в США, НАСА от краника бюджета отвадили, несмотря на их чистосердечные уверения, что наука загнется без них.
Ан нет, коммерсанты за сумму в 10 раз меньше на орбиту взлетели.

ВП>Дракон родился в процессе работы на Бураном. Это совместная разработка ФГУП Научно-производственный центр автоматики и приборостроения им. акад. Н.А. Пилюгина и Института прикладной математики им. акад. М.В. Келдыша РАН.

И, очевидно, отсюда принцип "шашлыка" — что бы не происходило, носитель куда то попадет, на орбиту ли, в море ли.
Тяжесть то на железки всегда действует. Понятно что для системы в которой больше миллиона деталей, которая состоит
из кучи модулей с выходом на физические рецепторы/эффекторы, нужно дать инженерам возможность порулить.
А они привыкли то к blueprint-ам, и без черчения и рисования никак.


ВП>Данная технология использовалась во всех перечисленных выше ракетно-космических проектах.

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

Это ж ЮМЛ, квадратики и стрелочки. Ну генерит он код. Так весь жизненный цикл разработки софта намного больше.
И не зря блок-схемы учат на первом этапе изучения информатики.
Потом абстрактная модель алгоритма уже генерируется в мозгу программиста на лету, и отображается в код исполнителя автоматом.
И большого смысла в трате времени на рисование постоянно изменяющуюся модель реализации не будет.
Как вы думаете, почему за 20 лет, после ооп, так ничего толкового и не придумали ?
Толкового в смысле, переложить труд в поиске алгоритмов и генерации по алгоритму для конкретного процессора — исполняемого кода,
с программиста, который человек, тоже ошибается, и объять предметную область проблемы спроектировав ее на область исполнителя,
не в состоянии.

ВП>Некоторые пользователи (пока еще немногочисленные) используют эти средства в своей практической работе. Они сообщают о значительном повышении производительности труда при создании алгоритмов и программ. Положительные отзывы поступают из России, Германии, Норвегии.

)) С ностальгией вспоминаю сообщения в новостях страны которую развалили...

ВП>По языку ДРАКОН и инструментальным средствам (например, ИС Дракон) имеются и другие форумы и сайты.

Ага, посмотрел, интересно, редактор блок схем. Да еще и код генерит, только вот схема удаления файлов больше 100кб в поддиректориях,
где в квадратиках код паскаля, смотрится анахронизмом. Вот схема высшего уровня где русскими словами — так еще ничего, красиво.
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 14.06.12 17:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Блок-схемы мы рисовали на первых уроках рисоваинформатики. Только было уже на них ясно, что они ничего серьезнее начальных задач решать не позволят.


Уважаемый Владислав Юрьевич!

Вы правы. Блок-схемы — это плохо.
Но дракон-схемы — это не блок-схемы.

Смешивать их недопустимо. Иначе получается так:

"Ругали абрикос за толстокожесть апельсина, только потому что оба фрукты"


ДРАКОН (в отличие от блок-схем) позволяет рисовать СКОЛЬ УГОДНО сложные алгоритмы.

Более того, Чем сложнее алгоритм, тем больше выгода от использования ДРАКОНа.
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: BrainSlug Израиль  
Дата: 14.06.12 17:53
Оценка:
ВП>ДРАКОН (в отличие от блок-схем) позволяет рисовать СКОЛЬ УГОДНО сложные алгоритмы.

ВП>Более того, Чем сложнее алгоритм, тем больше выгода от использования ДРАКОНа.

я не понял, дракон — это только средство одного из видов визуализации алгоритмов? это язык? есть ли у него рефлексия?
.
Re[8]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 14.06.12 18:21
Оценка:
Здравствуйте, BrainSlug, Вы писали:

BS>я не понял, дракон — это только средство одного из видов визуализации алгоритмов? это язык?


Да, это язык. Более того, это не один язык, а семейство языков.

Каждый язык Дракон-семейства имеет не один синтаксис, а два:

1. графический синтаксис
2. текстовый синтаксис.

Язык принадлежит дракон-семейству, если он имеет стандартный графический синтаксис.

Все языки дракон-семейства имеют ОДИН И ТОТ ЖЕ ГРАФИЧЕСКИЙ синтаксис.

А текстовый синтаксис может быть любой. Вы можете придумать Ваш собственный текстовый синтаксис.

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

Я об этом уже рассказывал на этом форуме.

Если хотите, можно посмотреть Википедию:
http://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D_(%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA)#.D0.93.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.BE.D0.B2.D1.8B.D0.B9_.D1.81.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81_.D1.8F.D0.B7.D1.8B.D0.BA.D0.B0_.D0.94.D0.A0.D0.90.D0.9A.D0.9E.D0.9D
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 14.06.12 18:39
Оценка: +1
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>ПРИМЕНЕНИЕ ЯЗЫКА ДРАКОН В РАКЕТНО-КОСМИЧЕСКОЙ ОТРАСЛИ

ВП>Язык ДРАКОН успешно используется во многих космических программах:
Это враньё. Приведи пример нетривиального кода на ДРАКОНе — ты этого сделать банально не можешь, так как такого кода не существует.

Я уж не говорю, что ДРАКОН — это каменный век по нынешним временам. Поделка для быдлоакадемиков советской школы. Прогрессивный мир нынче смотрит на: метапрограммирование, зависимые типы, typesets, proof-carrying code. Крайне интересны исследования в области total functional programming.

К примеру, от НАСА: http://babelfish.arc.nasa.gov/trac/jpf — система для постройки формально верифицируемых программ. Причём они не языком треплют про "неоспоримые преимущества", а пишут код.
Sapienti sat!
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 14.06.12 18:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это же об стену убиться, если мало-мальски серьезный алгоритм придется читать в блок-схемах!


Уважаемый Владислав Юрьевич!

Вы совершенно правы. Блок-схемы обречены. Они годятся только на помойку.

Иное дело ДРАКОН. Это принципиально новая нотация. Она позволит Вам быстро и удобно изобразить не только "мало-мальски серьезный алгоритм", но и алгоритмы ЛЮБОЙ СЛОЖНОСТИ.

Если Ваш алгоритм (согласно Вашему замыслу) должен быть ПОНЯТНЫМ и УДОБОЧИТАЕМЫМ, то у ДРАКОНа просто нет конкурентов.

Никакая другая нотация не даст Вам такой ПОНЯТНОСТИ алгоритмов, как ДРАКОН.

Для этой цели разработаны специальные методы, в том числе математические.

http://drakon.su/_media/biblioteka/drakondescription.pdf
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 14.06.12 18:47
Оценка: +2
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Для этой цели разработаны специальные методы, в том числе математические.

ВП>http://drakon.su/_media/biblioteka/drakondescription.pdf
Гааа.... Я посмотрел раздел "Операторы реального времени", наивно ожидая увидеть как визуализутся гарантии реального времени или приоритеты.

Забаньте этого клоуна уже, что ли?
Sapienti sat!
Re[8]: Язык ДРАКОН — новая идея в программировании
От: artelk  
Дата: 14.06.12 18:51
Оценка:
Здравствуйте, Cyberax, Вы писали:

ВП>>Язык ДРАКОН успешно используется во многих космических программах:

C>Это враньё. Приведи пример нетривиального кода на ДРАКОНе — ты этого сделать банально не можешь, так как такого кода не существует.

Вот же он ссылку дал.

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

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

  • Вся нетривиальщина вписывается в эти "текстоэлементы" и инлайнится (или вызывается в качестве попдрограммы) по месту при трансляции в низлежащий язык.
    Re[9]: Язык ДРАКОН — новая идея в программировании
    От: BrainSlug Израиль  
    Дата: 14.06.12 18:56
    Оценка:
    в таком случае какой же это язык? это способ представления, особый редактор если угодно, кода или псевдокода, или что там у него
    .
    Re[9]: Язык ДРАКОН — новая идея в программировании
    От: Cyberax Марс  
    Дата: 14.06.12 19:02
    Оценка: +3 :)))
    Здравствуйте, artelk, Вы писали:

    A>Вся нетривиальщина вписывается в эти "текстоэлементы" и инлайнится (или вызывается в качестве попдрограммы) по месту при трансляции в низлежащий язык.

    Ну дык. Вот пример нетривиального кода на ДРАКОНе:
    =====================|
    |           Ядро ОС                |
    |                                         |
    | [код linux-3.2.0 skipped]    |
    |=====================
    Sapienti sat!
    Re[5]: Язык ДРАКОН — новая идея в программировании
    От: Ops Россия  
    Дата: 14.06.12 19:44
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>Кончай стебаться. Не КУ все таки.


    А надо бы. Не в КУ, так в КСВ, чтобы все заценили.
    Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
    Re[10]: Язык ДРАКОН — новая идея в программировании
    От: artelk  
    Дата: 14.06.12 20:08
    Оценка: +1
    Здравствуйте, BrainSlug, Вы писали:

    BS>в таком случае какой же это язык? это способ представления, особый редактор если угодно, кода или псевдокода, или что там у него


    Да нет, все же язык, причем Тьюринг-полный — есть условия, циклы и т.п. Кроме того, есть такие вещи как распараллеливание.
    На сколько я понял, создание так называемого языка Дракон-гибрида делается так: выбирается некий низлежащий язык (например, С++), для каждой примитивной "иконы" Дракона находится соответствие в низлежащем языке (условный переход, цикл и т.д.). Для них делается тупой транслятор в этот низлежащий язык. Для более сложных вещей типа параллельности делается и более сложная трансляция (например, запуск тредов и т.п.). Если в низлежащем языке есть что-то, что не выразимо на Драконе (шаблоны С++, паттерн-матчинг и т.п.), то ничего не делается. Если захочется их использовать, придется вставлять соответствующие "текстоэлементы", где нужно . Таким образом, низлежащий язык часто будет даже намного более мощным, чем сам Дракон. Но у Дракона есть красивая визуализация, которую, как утверждается, легко освоить человеку, далекому от хардкорного программирования. И это, на сколько я понимаю, основная его задача.

    PS Имхо, в качестве серебряной пули не прокатит, даже близко.
    Re[11]: Язык ДРАКОН — новая идея в программировании
    От: grosborn  
    Дата: 14.06.12 20:46
    Оценка:
    > BS>в таком случае какой же это язык? это способ представления, особый редактор если угодно, кода или псевдокода, или что там у него
    >
    > Да нет, все же язык, причем Тьюринг-полный — есть условия, циклы и т.п. Кроме того, есть такие вещи как распараллеливание.
    > На сколько я понял, создание так называемого языка Дракон-гибрида делается так: выбирается некий низлежащий язык (например, С++), для каждой примитивной "иконы" Дракона находится соответствие в низлежащем языке (условный переход, цикл и т.д.). Для них делается тупой транслятор в этот низлежащий язык.

    в таком виде, это не трансляция, а прямое отображение причем не формализованное. Соответственно тут Дракон не язык, язык это низлежащий язык. А с учетом того, что отображение каждый раз писать нужно заново, это даже не инструмент, не словарь и не средство визуализации. Это просто формальные соглашения по рисованию.
    Что сделало бы дракон языком?
    Posted via RSDN NNTP Server 2.1 beta
    Забанен на рсдн за применение слова "Маргинал"
    Re[12]: Язык ДРАКОН — новая идея в программировании
    От: artelk  
    Дата: 14.06.12 22:06
    Оценка:
    Здравствуйте, grosborn, Вы писали:

    G>в таком виде, это не трансляция, а прямое отображение

    Прямое отображение — частный случай трансляции.
    G>причем не формализованное.
    Будет формализованное, когда напишешь транслятор. В стандарте С++, например, не указано в какие машинные инструкции что компилировать.

    G>Соответственно тут Дракон не язык, язык это низлежащий язык.

    И то и другое — языки.
    G>А с учетом того, что отображение каждый раз писать нужно заново
    Заново под каждый низлежащий язык. Компиляторы тоже пишут под каждую платформу свой (и не один).
    G>, это даже не инструмент, не словарь и не средство визуализации. Это просто формальные соглашения по рисованию.
    Которые образуют язык.
    G>Что сделало бы дракон языком?
    Синтаксис (тут графическая нотация плюс правила использования) и семантика (иконка Выбор означает то-то, и т.п.)

    Не стоит приписывать Дракону недостатки — у него и так их хватает
    Re[8]: Язык ДРАКОН — новая идея в программировании
    От: pagid Россия  
    Дата: 14.06.12 22:24
    Оценка:
    Здравствуйте, lseder, Вы писали:

    В этом офтопике ненадолго попробую заменить Паронджанова.

    L>Нескромный вопрос, на ракетах которые упали недавно пару раз, ваш софт стоит ? ))

    Нет не их. И во всех неудачах только одна — с ФГ, имеет вероятность быть софтовой.

    L>То есть, если , не дай бог, жизнь заставит писать софт для ракет, то от осваивания дракона не отвертеться.

    С Драконом балутся только одна организация.

    L>Вон в США, НАСА от краника бюджета отвадили, несмотря на их чистосердечные уверения, что наука загнется без них.

    Да ну?
    L>Ан нет, коммерсанты за сумму в 10 раз меньше на орбиту взлетели.
    Только финансирует этих "коммерсантов" американское правительство через бюджет НАСА. Сумма действительно в несколько раз меньше, чем у Боинга и Локхида (НАСА во всех трех случаях лишь заказчик), но никак не меньше российских расценок.
    ... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
    Re[7]: Язык ДРАКОН — новая идея в программировании
    От: Mamut Швеция http://dmitriid.com
    Дата: 15.06.12 08:55
    Оценка:
    ВП>Иное дело ДРАКОН. Это принципиально новая нотация. Она позволит Вам быстро и удобно изобразить не только "мало-мальски серьезный алгоритм", но и алгоритмы ЛЮБОЙ СЛОЖНОСТИ.

    Доказательство этого мы когда-нибудь увидим? Или ответ хоть на один из вопросов тут: http://rsdn.ru/forum/philosophy/4775173.1.aspx
    Автор: Mamut
    Дата: 12.06.12


    Сдается мне, вопрос риторический


    dmitriid.comGitHubLinkedIn
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.