Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 23.05.12 19:31
Оценка: 21 (4) +2 -4 :))) :))) :))) :)
Язык Дракон значительно облегчает алгоритмизацию и программирование

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

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

Можно ли устранить этот недостаток? Можно ли облегчить жизнь алгоритмистов и программистов? И поднять производительность их труда? Да, можно.

Дракон использует новую эргономичную нотацию — дракон-схемы. В итоге ТРУДНЫЕ для понимания способы записи алгоритмов и программ заменяются на более ЛЕГКИЕ. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием.

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

Владимир Паронджанов

--------------------------------------------------------------------------------



24.05.12 19:48: Перенесено из 'Философия программирования'
С уважением В. Паронджанов
ДРАКОН дракон-схемы алгоритм понимание эргономика
Re: Язык ДРАКОН — новая идея в программировании
От: Трололоша  
Дата: 23.05.12 20:13
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Существующие способы записи алгоритмов и программ (принятые во всем мире) слишком трудны для понимания и требуют неоправданно больших трудозатрат.

От так от с ходу шашкой.

ВП>Дракон использует новую эргономичную нотацию — дракон-схемы. В итоге ТРУДНЫЕ для понимания способы записи алгоритмов и программ заменяются на более ЛЕГКИЕ. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием.

ВП>Изюминка в том, что Дракон — очень легкий язык. Необыкновенно легкий. Прочитав книгу, вы без труда убедитесь, что управляющая графика Дракона является мощным инструментом, причем ее мощь легка в освоении и легко применима на практике.
Мммм. Будет вкусно!
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Ops Россия  
Дата: 23.05.12 21:39
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Мммм. Будет вкусно!


А ты вот это http://www.rsdn.ru/forum/flame.comp/4086890.aspx
Автор: PC_2
Дата: 21.12.10
застал?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Трололоша  
Дата: 24.05.12 01:12
Оценка: +2 :))) :)
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Трололоша, Вы писали:

Т>>Мммм. Будет вкусно!

Ops>А ты вот это http://www.rsdn.ru/forum/flame.comp/4086890.aspx
Автор: PC_2
Дата: 21.12.10
застал?

А как же!
Я даже под опусы Сергея "Синтаксический Оверхед" Губанова изволил откушать.
Мы, тролли — древний народ
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: batu Украина  
Дата: 24.05.12 02:28
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Трололоша, Вы писали:


Т>>Мммм. Будет вкусно!


Ops>А ты вот это http://www.rsdn.ru/forum/flame.comp/4086890.aspx
Автор: PC_2
Дата: 21.12.10
застал?

Не скажу что разочарован.. Думал ссылка будет на мои опусы
Re: Язык ДРАКОН — новая идея в программировании
От: Nikkk2010  
Дата: 24.05.12 04:43
Оценка: :)
Здравствуйте, Владимир Паронджанов, Вы писали:

Почему вы решили упомянуть язык Дракон на этом форуме?
Мало пользователей языка?
Недостаточно средств разработки для языка Дракон?
Плохо распространяется книга о Драконе?
Другие причины?
I do all my own stunts
Re[2]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 05:06
Оценка:
Здравствуйте, Nikkk2010, Вы писали:

N>Здравствуйте, Владимир Паронджанов, Вы писали:


N>Почему вы решили упомянуть язык Дракон на этом форуме?

N>Мало пользователей языка?
N>Недостаточно средств разработки для языка Дракон?
N>Плохо распространяется книга о Драконе?
N>Другие причины?
ИМХО потому, что Владимир Даниэлович практически 25 лет с языком работает. На этом зыке проектировалась управляющая система Бурана.
А в 90-х он, наконец, вышел из под секретности.
Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.12 05:14
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV> Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.


А можно пару подтверждающих примеров?
Re[4]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 05:45
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, LaptevVV, Вы писали:


LVV>> Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.


DM>А можно пару подтверждающих примеров?

За этим вам лучше сходить на oberoncore.ru
Там большое сообщество, там огромное количество примеров, там обсуждают и делают редакторы Дракона.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 07:33
Оценка:
Здравствуйте, Nikkk2010, Вы писали:

N>Здравствуйте, Владимир Паронджанов, Вы писали:


N>Почему вы решили упомянуть язык Дракон на этом форуме?


Это авторитетный форум. Мне интересно, какие будут отзывы.

N>Мало пользователей языка?


Вы правы. Пользователей мало. Между тем ДРАКОН рассчитан на массовое использование.

N>Недостаточно средств разработки для языка Дракон?


Средства (финансирование) полностью отсутствуют.
Открытые редакторы-трансляторы делают энтузиасты в свободное от работы время:
1. Геннадий Тышов (Россия, Северодвинск)
2. Stepan Mitkin (Норвегия, Осло)

N>Плохо распространяется книга о Драконе?


С этим проблем нет.

Спасибо за вопросы
С уважением В. Паронджанов
Re: Язык ДРАКОН — новая идея в программировании
От: fmiracle  
Дата: 24.05.12 07:45
Оценка: +4
Здравствуйте, Владимир Паронджанов, Вы писали:

Новая — это если считать новым только хорошо забытое старое или как?

ВП>Изюминка в том, что Дракон — очень легкий язык. Необыкновенно легкий. Прочитав книгу, вы без труда убедитесь, что управляющая графика Дракона является мощным инструментом, причем ее мощь легка в освоении и легко применима на практике.


Какую книгу, зачем читать, непонятно. Никто так не будет. Лучше приведи тут серию небольших статей, наглядно показывающих преимущества языка, хотя бы даже только в плане описания алгоритмов — и будет гораздо больше пользы. Язык-то по слухам, хороший, но как и где нам его применять на практике-то? Космические корабли на этом форуме почти никто не программирует и тем более не проектирует.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Nikkk2010  
Дата: 24.05.12 08:16
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Средства (финансирование) полностью отсутствуют.


Язык ДРАКОН — новая идея в программировании.
Обращайтесь в администрацию проекта Сколково.
Ужу выделены сотни миллионов американских долларов
в рамках этого проекта.
I do all my own stunts
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 08:17
Оценка: +1
Здравствуйте, fmiracle, Вы писали:

F>Какую книгу, зачем читать, непонятно. Никто так не будет. Лучше приведи тут серию небольших статей, наглядно показывающих преимущества языка, хотя бы даже только в плане описания алгоритмов — и будет гораздо больше пользы. Язык-то по слухам, хороший, но как и где нам его применять на практике-то? Космические корабли на этом форуме почти никто не программирует и тем более не проектирует.


Даю ссылку на Краткое описание языка ДРАКОН. Всего 124 страницы. Много рисунков.
О космических кораблях нет ни слова. Все примеры очень простые, бытового характера.
http://drakon-practic.ru/drakon.pdf
С уважением В. Паронджанов
Re[3]: Язык ДРАКОН — новая идея в программировании
От: 0x7be СССР  
Дата: 24.05.12 08:36
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Даю ссылку на Краткое описание языка ДРАКОН. Всего 124 страницы. Много рисунков.

ВП>О космических кораблях нет ни слова. Все примеры очень простые, бытового характера.
ВП>http://drakon-practic.ru/drakon.pdf
Продиагоналил статью, статья интересная, позже прочитаю более вдумчиво.
Пока вопрос: насколько я понял, язык сфокусирован на том, что бы просто и наглядно записывать алгоритмы.
Какие средства язык предоставляет для организации больших программ?
Я имею в виду средства абстракции и (де)композиции алгоритмов и данных.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 09:05
Оценка: :)
Здравствуйте, 0x7be, Вы писали:


0>Какие средства язык предоставляет для организации больших программ?


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

Даю выдержку из книги 2012 года:

_______________________________________________________________

§8. ВЫВОДЫ

1. Головной алгоритм – это алгоритм самого верхнего уровня на лест-
нице декомпозиции.

2. Головной алгоритм может содержать вставки (вызываемые проце-
дуры). Но сам он не может быть вставкой для алгоритма более вы-
сокого уровня.

3. Головной алгоритм – это всегда силуэт. Он не может быть прими-
тивом или системой примитивов.

4. Для создания головного алгоритма используют:

• метод эргономичной декомпозиции;
• метод многостраничного силуэта.

5. Головной алгоритм может быть:

• одностраничным силуэтом;
• многостраничным силуэтом.

6. Одностраничный силуэт размещается на одном листе бумаги (на
одном экране).

7. Многостраничный силуэт размещают на нескольких листах бума-
ги. При работе с экраном силуэт прокручивают по горизонтали.

8. Многостраничный силуэт образует целостную зрительную сцену.
Сквозь все листы многостраничного силуэта проходят две горизон-
тальные шины, которые скрепляют листы между собой с помощью
пронумерованных соединителей.

9. Силуэт – главное достоинство языка ДРАКОН. Он обладает мощ-
ными выразительными средствами.

10. Сложные алгоритмы следует изображать как силуэты, в которых
многократно используются иконы «вставка». Последние, в свою
очередь, раскрываются как силуэты и т. д. Таким образом, сложный
алгоритм надо изображать как последовательную декомпозицию
силуэтов.

11. На практике силуэт используют в подавляющем большинстве слу-
чаев.

12. Примитив применяют редко, скорее как исключение.

13. Тем не менее, отказываться от примитива не следует, так как он ну-
жен для описания малых алгоритмов.

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

________________________________________________________________

0>Я имею в виду средства абстракции и (де)композиции алгоритмов и данных.


Про данные отвечу в отдельном сообщении
С уважением В. Паронджанов
Re[5]: Язык ДРАКОН — новая идея в программировании
От: 0x7be СССР  
Дата: 24.05.12 09:29
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Даю выдержку из книги 2012 года:

Спасибо. Насколько я понял, это в целом аналогично созданию процедуры main() и разбивке программы на отдельные процедуры,
решающие все меньшие части задачи и повторно используемые в других процедурах.
Если ли аналоги модулей (компонентов, классов) и интерфейсов?
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 10:43
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Спасибо. Насколько я понял, это в целом аналогично созданию процедуры main() и разбивке программы на отдельные процедуры,

0>решающие все меньшие части задачи и повторно используемые в других процедурах.

Не совсем. В редакторе-трансляторе Геннадия Тышова икона "вставка" выполняет три задачи:

1. Процедура

2. Функция

3. Просто вставка (не процедура и не функция).
А просто любой кусок алгоритма,имеющий один вход и один выход.
Который (в целях обозримости дракон-схемы)вы "закрываете от глаз"
и превращаете во вставку. При трансляции этот кусок не вызывается (как процедура),
а просто вставляется в тело алгоритма (программы)
С уважением В. Паронджанов
Re: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 24.05.12 10:48
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Язык Дракон значительно облегчает алгоритмизацию и программирование

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

Например: Языки общего назначения не имеют смысла!
Автор: WolfHound
Дата: 07.04.12

Как это будет выглядеть на драконе?
Аналог 56 страниц на жабе сделать не проблема.
Но как насчет аналога дракон-схемы для кода на даталоге?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 24.05.12 11:47
Оценка: +1 -1
Здравствуйте, LaptevVV, Вы писали:

LVV>Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.

И что произойдет когда они на него посмотрят? Блестящее озарение того как работает сложный алгоритм? Или в российских ВУЗ-ах теперь математики и инженеры должны пройти курс веселых картинок вместо настоящего обучения?
Для рисования сложных алгоритмов как нельзя лучше подойдут три вещи — салфетка из под кофе/чая (можно грязную) или неровно оторванный кусок бумаги, ручка или карандаш и голова.
Re: Язык ДРАКОН — новая идея в программировании
От: minorlogic Украина  
Дата: 24.05.12 12:11
Оценка: +2
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Дракон использует новую эргономичную нотацию — дракон-схемы.


Я в глубоком детстве познакомился с так называемыми "блок схемами".
http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%BA-%D1%81%D1%85%D0%B5%D0%BC%D0%B0

Что именно нового превносит дракон, кроме собственного синтаксиса?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 12:20
Оценка: +1 -1
Здравствуйте, a_g_99, Вы писали:

__>Для рисования сложных алгоритмов как нельзя лучше подойдут три вещи — салфетка из под кофе/чая (можно грязную) или неровно оторванный кусок бумаги, ручка или карандаш и голова.

1. Мы проводили опрос среди студентов 1-2-3 курсов по вопросу, что они легче воспринимают при объяснении алгоритмов: псевдокод или блок-схемы? Ответы свидеетельствовали, что девочки практически поголовно лучше воспринимают картинку. Мальчики в основном псевдокод, но попадались и такие, которым было пофигу. Среди девочек ни одной пофигу не было.
2. Дисциплину "Проектирование ПО" никто не отменял. Поэтому технический проект надо в виде каких-то схем представлять. Дракон значительно лучше подходит для изображения алгоритмов, чем диаграммы деятельности UML или ВАВ-диаграммы.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.05.12 12:30
Оценка: +1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, a_g_99, Вы писали:


__>>Для рисования сложных алгоритмов как нельзя лучше подойдут три вещи — салфетка из под кофе/чая (можно грязную) или неровно оторванный кусок бумаги, ручка или карандаш и голова.

LVV>1. Мы проводили опрос среди студентов 1-2-3 курсов по вопросу, что они легче воспринимают при объяснении алгоритмов: псевдокод или блок-схемы? Ответы свидеетельствовали, что девочки практически поголовно лучше воспринимают картинку. Мальчики в основном псевдокод, но попадались и такие, которым было пофигу. Среди девочек ни одной пофигу не было.
LVV>2. Дисциплину "Проектирование ПО" никто не отменял. Поэтому технический проект надо в виде каких-то схем представлять. Дракон значительно лучше подходит для изображения алгоритмов, чем диаграммы деятельности UML или ВАВ-диаграммы.

И как это соотносится с тем, что проектирование в первую очередь затрагивает вопросы декомпозиции задачи на слои/функции/объекты и т.п.? Или в драконе есть аналоги структурных диаграмм UML, например?
Ещё пару вопросов (если вдруг есть возможность/желание ответить) —
Как насчёт взаимодействия сущностей (проектируем в рамках ООП, например) наподобие диаграмм последовательности?
Можно ли на драконе нарисовать алгоритм, использующий ФВП?
Re[5]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 24.05.12 12:32
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, a_g_99, Вы писали:


__>>Для рисования сложных алгоритмов как нельзя лучше подойдут три вещи — салфетка из под кофе/чая (можно грязную) или неровно оторванный кусок бумаги, ручка или карандаш и голова.

LVV>1. Мы проводили опрос среди студентов 1-2-3 курсов по вопросу, что они легче воспринимают при объяснении алгоритмов: псевдокод или блок-схемы? Ответы свидеетельствовали, что девочки практически поголовно лучше воспринимают картинку. Мальчики в основном псевдокод, но попадались и такие, которым было пофигу. Среди девочек ни одной пофигу не было.
Супер. Блок-схемки и еще им курс типа — Экспресс обучение С++/С# за 21 день. И на волю этих мальчиков и девочек. И все равно, что головой такого МальчикоДевочки можно крепостные стены пробивать. Схемы — это красиво!

LVV>2. Дисциплину "Проектирование ПО" никто не отменял. Поэтому технический проект надо в виде каких-то схем представлять. Дракон значительно лучше подходит для изображения алгоритмов, чем диаграммы деятельности UML или ВАВ-диаграммы.

А вот в штатах бедолаги не знают и все на UML рисуют. И инструментов там — тьма тьмущая. И все довольны.
И как это так получилось что какой-то там дракон вдруг стал лучше uml-кубиков?
Re[6]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 12:35
Оценка:
Здравствуйте, Курилка, Вы писали:

К>И как это соотносится с тем, что проектирование в первую очередь затрагивает вопросы декомпозиции задачи на слои/функции/объекты и т.п.? Или в драконе есть аналоги структурных диаграмм UML, например?

К>Ещё пару вопросов (если вдруг есть возможность/желание ответить) -
К>Как насчёт взаимодействия сущностей (проектируем в рамках ООП, например) наподобие диаграмм последовательности?
К>Можно ли на драконе нарисовать алгоритм, использующий ФВП?
1. Я думаю, эти вопросы лучше задать автору Дракона Владимиру Даниэловичу.
2. Можно сходить на форум oberoncore.ru и пообсуждать там. На форуме очень конкретно и предметно обсуждаются в том числе и ваши вопросы.
И кстати, Дракон был практически использован задолго до возникновения UML.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 12:38
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Супер. Блок-схемки и еще им курс типа — Экспресс обучение С++/С# за 21 день. И на волю этих мальчиков и девочек. И все равно, что головой такого МальчикоДевочки можно крепостные стены пробивать. Схемы — это красиво!

Речь не о голове, а о методике обучения. При любой методике будут умные головы и будут глупые головы. Но подходящая методика может помогатть обучению, а неподходящая — будет мешать
LVV>>2. Дисциплину "Проектирование ПО" никто не отменял. Поэтому технический проект надо в виде каких-то схем представлять. Дракон значительно лучше подходит для изображения алгоритмов, чем диаграммы деятельности UML или ВАВ-диаграммы.
__>А вот в штатах бедолаги не знают и все на UML рисуют. И инструментов там — тьма тьмущая. И все довольны.
__>И как это так получилось что какой-то там дракон вдруг стал лучше uml-кубиков?
1. В США знают, ибо книга о Драконе в этом году будет выпущена в Америке на английском языке.
2. Один из разработчиков Дракон-редактора (см. сообщение Паронджанова) — норвежец...
Так что кому надо — тот знает...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: batu Украина  
Дата: 24.05.12 12:39
Оценка: 37 (4) :)
Здравствуйте, LaptevVV, Вы писали:


LVV>ИМХО потому, что Владимир Даниэлович практически 25 лет с языком работает. На этом зыке проектировалась управляющая система Бурана.

LVV>А в 90-х он, наконец, вышел из под секретности.
LVV>Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.
Я работал разработчиком системы старта и технического обслуживания Бурана. (конкретно пульт управления моя разработка). Ни сном ни духом про Дракон. У нас был свой язык ЭЛИДО. Так это такое говно. Макросы обычные. Про существование синтаксиса и терии трансляторов наше техническое руководство тогда просто не доходило уровнем. Хотя были и в Подлипках и у Пилюгина по пол года не вылазили с полигонов..
Re[4]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 12:43
Оценка:
Здравствуйте, batu, Вы писали:

B>Здравствуйте, LaptevVV, Вы писали:



LVV>>ИМХО потому, что Владимир Даниэлович практически 25 лет с языком работает. На этом зыке проектировалась управляющая система Бурана.

LVV>>А в 90-х он, наконец, вышел из под секретности.
LVV>>Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше.
B>Я работал разработчиком системы старта и технического обслуживания Бурана. (конкретно пульт управления моя разработка). Ни сном ни духом про Дракон. У нас был свой язык ЭЛИДО. Так это такое говно. Макросы обычные. Про существование синтаксиса и терии трансляторов наше техническое руководство тогда просто не доходило уровнем. Хотя были и в Подлипках и у Пилюгина по пол года не вылазили с полигонов..

Я думаю, Владими Даниэлович сам может рассказать, в каком месте использовался Дракон. Очевидно, при разработке алгоритмов управляющей системы. На форуме oberoncore.ru можно найти об этом сообщение.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: batu Украина  
Дата: 24.05.12 12:52
Оценка: :)
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Здравствуйте, fmiracle, Вы писали:


F>>Какую книгу, зачем читать, непонятно. Никто так не будет. Лучше приведи тут серию небольших статей, наглядно показывающих преимущества языка, хотя бы даже только в плане описания алгоритмов — и будет гораздо больше пользы. Язык-то по слухам, хороший, но как и где нам его применять на практике-то? Космические корабли на этом форуме почти никто не программирует и тем более не проектирует.


ВП>Даю ссылку на Краткое описание языка ДРАКОН. Всего 124 страницы. Много рисунков.

ВП>О космических кораблях нет ни слова. Все примеры очень простые, бытового характера.
ВП>http://drakon-practic.ru/drakon.pdf
Алгоритмы это следствие образа мысли. Этот образ мысли может меняться в зависимости от того что считать данными (не говоря уже об их организации), и от того что считать шагом алгоритма. От последнего вообще может зависеть существование алгоритмического решения. Но и это мелочи. Есть реальная проблема и особенно в системах моделирующих реальные объекты. Их концепция вообще не пошаговое выполнение команд (т.е. команда попадает в процессор и выполняется) а в процессор попадают данные (события или значения от взаимождействующих устройств) и эти данные запускают процесс. Т.е. это вполне может быть и недерминированная система в которой алгоритмы мало помогают.
Так что мое мнение этот подход выглядел достойно лет 25 назад. Сейчас это уже не актуально и по детски..
Re[5]: Язык ДРАКОН — новая идея в программировании
От: batu Украина  
Дата: 24.05.12 12:56
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:


LVV>Я думаю, Владими Даниэлович сам может рассказать, в каком месте использовался Дракон. Очевидно, при разработке алгоритмов управляющей системы. На форуме oberoncore.ru можно найти об этом сообщение.

Может быть и расскажет. Мне интересно как он это заказчику сдавал. А приемка там была серьезная. Вряд ли пропустила нечто очень умное..
Re[2]: Язык ДРАКОН — новая идея в программировании
От: batu Украина  
Дата: 24.05.12 13:00
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Владимир Паронджанов, Вы писали:


ВП>>Язык Дракон значительно облегчает алгоритмизацию и программирование

WH>Дракон-схема задает конечный автомат.
WH>Если задача не сводится к конечному автомату, то дракон работать перестает.

Во-во.. Об чем я и говорю.. Системы реального времени с прерываниями и обработкой телеметрии вносят долю недерминированности
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 13:40
Оценка: +1
Автор этого сообщения Сергей Ефанов (город Липецк)

Сергей Ефанов программирует только на ДРАКОНе

Программирование микроконтроллеров на ДРАКОНе

Язык программирования ДРАКОН

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

Медленно и со вкусом прочитал.

И — понял! Это просто клад!

По возвращении уже думал только об одном: где бы найти инструмент для работы?
К счастью, такой инструмент нашелся.
Попробовал небольшие примерчики — вроде какой то код генерится. Переписал на ДРАКОНе довольно запутанную функцию из реального проекта.

Функция заработала сразу! Более того, при переносе алгоритма в дракон-схему, я обнаружил, что у меня в ней была ошибка! Эта функция работала уже довольно давно, не в одной сотне изделий. Ошибка не была фатальной, она возникала редко, и компенсировалась переподключением к серверу. Но она была!

В тексте на Си её было незаметно. А при попытке перенести алгоритм на дракон-схему, ошибка стала не просто заметной — алгоритм в этом месте «не вырисовывался»!

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

Написание программы распалось на два этапа — проработка алгоритма, и собственно программирование.

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

Но есть несколько строгих правил, которые не позволяют схеме превратиться в запутанный клубок линий, квадратов и ромбиков.
Правила, на первый взгляд, простые. Но эффект от их применения — колоссальный!

На ДРАКОНЕ запутанный и непонятный алгоритм нарисовать просто нельзя. И наоборот, любой сложный алгоритм, нарисованный согласно этим правилам, становится очень понятным.

При разработке алгоритма теперь его не надо держать в голове при написании текста программы. Работа сводится к визуальному конструированию алгоритма. Это гораздо легче. Не требуется такое сосредоточение, как обычно. Так как нарисованный алгоритм очень понятен — работу можно спокойно прервать в любой момент, потом легко вернутся к её продолжению.

И только когда весь алгоритм «отлизан» — переходим к собственно программированию. В чём оно теперь заключается? В том, что для каждой иконы нужно написать код, который выполнит то, что написано на этой иконе. Как правило это 1 строчка. На высоких уровнях иерархии проекта — это может быть вызов одной функции, или одного метода класса (заметим, что все функции и классы тоже нарисованы на ДРАКОНЕ). На нижнем уровне — это может быть изменение одного бита.

В этом месте, наверняка, у многих вырвется вопрос: — «Ну и зачем весь этот огород, если код всё равно надо писать самому?!».

Не торопитесь!

В чём сложность программирования? (с тем, что программирование — сложная работа, думаю, никто спорить не будет?).

Разве в написании строчек типа printf(«Hello, Word»);?
Станет ли сложной программа от того, что мы напишем 1000 подобных строчек? А 10000?
Нет, она не станет от этого сложной. Сложной программу делают сложные взаимосвязи между её частями.

Так вот, на этапе программирования икон об этом думать уже не надо.

Совсем. Вообще. Никак. Не надо, и всё тут!

Всё, что нужно — аккуратно запрограммировать ОДНУ икону. Только ОДНУ! Когда будем программировать другую — про предыдущую уже можно не вспоминать. В тот код, который сгенерирует редактор — смотреть не нужно. Так же, как мы не смотрим в машинные коды, полученные после компиляции.

Программирование на этом этапе превратилось в чисто техническую процедуру. Несложную.

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

=======

Как начать использовать ДРАКОН?

Нужно потрудится. Нужно прочитать книгу «Язык Дракон».

Прочитать неспеша и вдумчиво.

Мне помогло, что я её читал в поезде, где не было отвлекающих факторов. Книга написана очень хорошо, просто, доходчиво, интересно.
http://drakon-practic.ru/

Если по прочтении возникло желание попробовать ( а я не сомневаюсь, что возникнет ) — тогда скачивайте ИС ДРАКОН, и начинайте.
http://drakon-practic.ru/is_drakon.zip

Не пытайтесь получить представление о языке по приводимым видеороликам. Их цель совершенно другая.

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

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

Понятно же, что программа, которая в процессе этих уроков создаётся, может быть написана в текстовом редакторе за пару минут без всех этих хлопот. Делать на основе этого урока заключение о языке — это тоже самое, что писать рецензию на «Война и Мир» по «Мама мыла раму».

Но конечно же, Вы начнёте с видеороликов! Ну что же. Имеющий уши — услышит, имеющий глаза — увидит.
http://drakon-practic.ru/is_drakon_part1.zip
http://drakon-practic.ru/is_drakon_part2.zip
http://drakon-practic.ru/is_drakon_part3.zip
http://drakon-practic.ru/is_drakon_part4.zip

Видеоролики уроков теперь размещены и на youtube:

Сообщение Сергея Ефанова взято отсюда
http://we.easyelectronics.ru/drakon/programmirovanie-mikrokontrollerov-na-drakone.html

За этим сообщением следуют 276 комментариев.
Рекомендую прочитать комментарии.
http://we.easyelectronics.ru/drakon/programmirovanie-mikrokontrollerov-na-drakone.html#comment39416
С уважением В. Паронджанов
Re: Язык ДРАКОН — новая идея в программировании
От: 11molniev  
Дата: 24.05.12 14:18
Оценка: +5
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Язык Дракон значительно облегчает алгоритмизацию и программирование

Чем это подтверждено?
ВП>Существующие способы записи алгоритмов и программ (принятые во всем мире) слишком трудны для понимания и требуют неоправданно больших трудозатрат.
Чем это подтверждено? В чем выражена эта трудность?
ВП>Это обстоятельство ставит непреодолимый барьер для многих специалистов, работа которых связана с алгоритмами, но которые не имеют резерва времени, чтобы научиться выражать свои профессиональные знания в форме алгоритмов и программ.
WTF??? MathCAD, Mathematica, LabVIEW, .....

ВП>Можно ли устранить этот недостаток? Можно ли облегчить жизнь алгоритмистов и программистов? И поднять производительность их труда? Да, можно.

Какой ещё недостаток? Трудность для понимания и неоправданно большие затраты — ну лично я не вижу никакой трудности. Языки сейчас есть на любой вкус.
Алгоритмистов, это кто?

ВП>Дракон использует новую эргономичную нотацию — дракон-схемы. В итоге ТРУДНЫЕ для понимания способы записи алгоритмов и программ заменяются на более ЛЕГКИЕ. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием.

Нет пояснения в чем же её эргономичность.

ВП>Изюминка в том, что Дракон — очень легкий язык. Необыкновенно легкий. Прочитав книгу, вы без труда убедитесь, что управляющая графика Дракона является мощным инструментом, причем ее мощь легка в освоении и легко применима на практике.

Легкость то в чем. Я вот бегло пробежался по книге и пришел к выводу о огромных схемах. Текстовая форма более компактна.

ВП>Даю ссылку на Краткое описание языка ДРАКОН. Всего 124 страницы. Много рисунков.

ВП>О космических кораблях нет ни слова. Все примеры очень простые, бытового характера.
ВП>http://drakon-practic.ru/drakon.pdf
А можно с практическими, а не бытовыми примерами? Обычно программы не копают червей и не покупают яхты.
Re[7]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 24.05.12 16:18
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Речь не о голове, а о методике обучения. При любой методике будут умные головы и будут глупые головы. Но подходящая методика может помогатть обучению, а неподходящая — будет мешать

Ну так а почему вы здесь рекламируете заведомо проигрышные методики? Методика обучения по картинкам хороша для младенцев или идиотов. Методика аля Кормен, Седжвик и Ко с предельно короткими мат. описаниями и алгоритмами позволяет эффективно выделить адекватного специалиста.
Объясните для чего мне как CS-инженеру рисовать картинки алгоритмов, ума не приложу?
А то до смешного доходит — приходит молодой парень, ты его просишь просто объяснить смысл балансировки дерева и перечислить основные классы сб. деревьев, а он говорит что деревья видел только в парке. Но зато рисует картинки и прочел экспресс-курс по с++ от академического! автора .

LVV>1. В США знают, ибо книга о Драконе в этом году будет выпущена в Америке на английском языке.

Еще на китайском выпустите и можете четверть населения планеты записать в дракон-программисты .

LVV>2. Один из разработчиков Дракон-редактора (см. сообщение Паронджанова) — норвежец...

Один из двух разработчиков . Неужели вы серьезно ?
Re: Язык ДРАКОН — новая идея в программировании
От: Mazay Россия  
Дата: 24.05.12 16:57
Оценка: +5
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Язык Дракон значительно облегчает алгоритмизацию и программирование


Да? И как же выделенное облегчает "алгоритмизацию"? Повторенье мать ученья?
http://files.rsdn.org/19343/drakon_p13.png

Запостите лучше сюда алгоритм балансировки AVL-дерева, пожалуйста. А то все эти "Обед в ресторане" и "Покрасить забор" как-то не тянут на типичные задачи.
Главное гармония ...
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 24.05.12 18:16
Оценка: :))) :))) :))) :)
1>Здравствуйте, Владимир Паронджанов, Вы писали:


ВП>>Дракон использует новую эргономичную нотацию — дракон-схемы. В итоге ТРУДНЫЕ для понимания способы записи алгоритмов и программ заменяются на более ЛЕГКИЕ. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием.


1>Нет пояснения в чем же её эргономичность.


Вы не правы. Пояснение есть. Чтобы понять суть дела, надо внимательно прочитать 124 страницы.

Я ввел понятие "эргономичный алгоритм". Это принципиально новое фундаментальное научное понятие.

Понятие "эргономичный алгоритм" раскрывается через новые определения, новые правила и иллюстрирующие их примеры.
С уважением В. Паронджанов
Re[8]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 24.05.12 18:28
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


LVV>>Речь не о голове, а о методике обучения. При любой методике будут умные головы и будут глупые головы. Но подходящая методика может помогатть обучению, а неподходящая — будет мешать

__>Ну так а почему вы здесь рекламируете заведомо проигрышные методики? Методика обучения по картинкам хороша для младенцев или идиотов. Методика аля Кормен, Седжвик и Ко с предельно короткими мат. описаниями и алгоритмами позволяет эффективно выделить адекватного специалиста.
Вы давно преподавали в вузе, чтобы так БЕЗАПЕЛЛЯЦИОНННО судить о качестве преподавательских технологий?
Знает тот, кто делает (с)
__>Объясните для чего мне как CS-инженеру рисовать картинки алгоритмов, ума не приложу?
Вам — не надо.
__>А то до смешного доходит — приходит молодой парень, ты его просишь просто объяснить смысл балансировки дерева и перечислить основные классы сб. деревьев, а он говорит что деревья видел только в парке. Но зато рисует картинки и прочел экспресс-курс по с++ от академического! автора .
Значит, так учили. Или сам учился.

LVV>>2. Один из разработчиков Дракон-редактора (см. сообщение Паронджанова) — норвежец...

__>Один из двух разработчиков . Неужели вы серьезно ?
UML вначале тоже только три человека делали.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: minorlogic Украина  
Дата: 24.05.12 18:34
Оценка: 38 (1) +5 :)
«Если вы не можете своему ребенку за пять минут объяснить, чем вы занимаетесь, значит, вы занимаетесь какой-то ерундой».
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: TimurSPB Интернет  
Дата: 24.05.12 18:44
Оценка: +1
ВП>Я ввел понятие "эргономичный алгоритм". Это принципиально новое фундаментальное научное понятие.
Как выглядит эргономичная быстрая сортировка?
Make flame.politics Great Again!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 19:32
Оценка: 6 (2)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Владимир Паронджанов, Вы писали:


ВП>>Язык Дракон значительно облегчает алгоритмизацию и программирование

WH>Дракон-схема задает конечный автомат.

Сразу оговорюсь, ответ не только тебе, просто лень дробить на более узкотематические посты и искать, кому бы ответить, поэтому тут напишу

Не совсем, как я понял, но где-то рядом. Дракон задает ГСА — графическую схему алгоритма. Ну, а дальше уже дело техники — преобразовать в машинный код. У нас на теории автоматов мы такие же рисовали, как исходное данное. Обозначали операторные вершины состояниями, рисовали автомат Мура/Мили, минимизировали число состояний, потом делали комбинационную схему и определяли, сколько ячеек памяти нужно для Блока Памяти.
В принципе, при наличии иструмента, который все этапы автоматизирует, можно попробовать использовать, но мне кажется, что ГСА намного дольше рисовать, чем писать код. Хотя для понимания, что там в программе происходит, ГСА наверно более удобны. Но лучше ГСА по коду генерит, чем наоборот. Хотя генерацию кода по схеме реализовать думаю проще.
Честно говоря, для embedded софта, где еще надо иногда вылизывать — Дракон имеет шанс, плюс, можно бэкэнд поменять и генерить не машинный или C код, а vhdl например, для аппаратной реализации. Можно прототипы на чем-то программируемом делать, а при необходимости запустить большую серию имеет смысл в железе реализовать.
Но, повторюсь, рисовать ГСА гораздо медленнее, чем писать код на ЯВУ. На Драконе можно пять лет рисовать совершенную систему, а на тех же плюсах можно сделать за полгода рабочее решение, и допиливать его, если понадобится. А может и не понадобится, с большой вероятностью.
Имхо, для некоторых достаточно узких ниш, если будет годный инструментарий, и при наличии толкового и думаю, небесплатного продвижения, часть рынка можно занять.

Но надо не забывать, что есть такие языки (как текстовые, так и графические), как:
Structured Text (ST) — язык программирования для программирования промышленных контроллеров и операторских станций
LD — Релейно-Контактные Схемы (вроде графический)
FBD — Функциональные Блоковые Диаграммы (тоже вроде графический)
IL — Список Инструкций (типа дотнетовского IL для )
SFC — Последовательностные Функциональные Диаграммы

За деталями можно отсюда начать.

Вопрос с графическим представлением сложный, на самом деле, и упирается во многом в качественный инструментарий. Так, логические схемы (железячные) раньше рисовали в графике, у всех элементов было свое УГО, но это было до определенного момента. Сейчас мало кто этим занимается, все пишут на различных HDL, и только аналоговые узлы иногда в графике рисуют, но и тут инструментарий подтягивается, и, говорят, уже можно аналоговые узлы математикой описывать в некоторых пакетах.

Я просто увлекался (да и сейчас все подмывает заняться) автоматным программированием, у нас это Шалыто (ИТМО) популяризирует (Switch-технологии), наваял такую штуку
Автор: Marty
Дата: 31.07.08
. С ее помощью довольно много по мелочам сделал, было в принципе удобно, но из-за убого редактора statechart'ов (Dia, я написал только кодогенератор по ее файлам) пользоваться не очень удобно. Вернее удобно, если пользоваться постоянно, но когда я через год вернулся что-то подправить, было не слишком просто. В мелких вещах без проблем, но я как-то налабал автоматы лексера и парсера для языка типа IDL, вот в них правки было не слишком просто вносить.

WH>Если задача не сводится к конечному автомату, то дракон работать перестает.

А какая задача не сводится к конечному автомату? Если дополнить его стеком состояний? У меня в генераторе (см выше) как раз в парсере IDL был случай, когда нужна была рекурсия. классический автомат не мог это обработать, я просто добавил генерацию стека состояний в генератор и ввел способ вызова подавтоматов с сохранением состояния на стеке, и все заработало. В местах, где не было рекурсии, я просто делал подстановку подавтомата в объемлющий автомат.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 19:34
Оценка: +2
Здравствуйте, batu, Вы писали:

B>Во-во.. Об чем я и говорю.. Системы реального времени с прерываниями и обработкой телеметрии вносят долю недерминированности

А что не так? Тут вполне автоматность как раз и работает — внешние запросы это просто входные воздействия для автомата. Собственно, это как раз конек автоматного программирования. Но что-то сложное в таком ключе написать тяжело.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 19:45
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП> Автор этого сообщения Сергей Ефанов (город Липецк)


ВП>Сергей Ефанов программирует только на ДРАКОНе


Хочу порекомендовать Сергею Ефанову открыть для себя
LD — Релейно-Контактные Схемы
FBD — Функциональные Блоковые Диаграммы
SFC — Последовательностные Функциональные Диаграммы

Пытаюсь не ерничать, но вы не могли бы рассказать, что нового по сравнению с этими, уже очень широко используемыми языками вы привносите? Сейчас каждый уважающий себя производитель микроконтроллеров почти полный комплект инструментов для этих языков предоставляет. Более того, многие промышленные контроллеры сейчас уже не программируются в машинных кодах, ассемблере или на C — а только при помощи перечисленных языков, ну или еще при помощи IL или ST.
Вам надо искать инвестиции, в Сколково податься, что ли. Можно попытаться сделать универсальный инструмент, который поддерживает как МК с IL/ST, так и те, которые программируются на своем ассемблере или на C. Другой вариант — взять свою команду и пойти в Сименс или еще куда, может они заинтересуются вашими наработками.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 19:46
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>«Если вы не можете своему ребенку за пять минут объяснить, чем вы занимаетесь, значит, вы занимаетесь какой-то ерундой».

Только что хотел сам написать, но решил глянуть ветку дальше
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 19:53
Оценка:
Здравствуйте, Mazay, Вы писали:

M>Запостите лучше сюда алгоритм балансировки AVL-дерева, пожалуйста. А то все эти "Обед в ресторане" и "Покрасить забор" как-то не тянут на типичные задачи.


Думаю, что запрошеный алгоритм неудобно будет рассматривать, придется прокручивать много вверх-вниз и вправо-влево.
Дракон этот, как я понял, типичный высокоуровневый инструмент промышленной автоматизации, которым пользуется инженер, знакомый с предметной областью, и умеющий рисовать блок-схемы. Низкоуровневые кирпичики либо уже забиты в контроллере, либо этот инженер идет в отдел к программистам, и говорит, что он хочет чтобы они этот кирпичик запрограмили ему на Cях, чтобы он этот кирпичик мог вставлять в свои блок-схемы.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 24.05.12 20:57
Оценка: +1
Здравствуйте, Marty, Вы писали:

WH>>Если задача не сводится к конечному автомату, то дракон работать перестает.

M>А какая задача не сводится к конечному автомату? Если дополнить его стеком состояний? У меня в генераторе (см выше) как раз в парсере IDL был случай, когда нужна была рекурсия. классический автомат не мог это обработать, я просто добавил генерацию стека состояний в генератор и ввел способ вызова подавтоматов с сохранением состояния на стеке, и все заработало. В местах, где не было рекурсии, я просто делал подстановку подавтомата в объемлющий автомат.
Меня полнота по Тьюрингу не волнует.
Совсем.

Просто пойми одну простую вещь: Решения задачи в терминах предметной области, которая не имеет ничего общего с КА будет раз в 100 меньше чем то, что ты напишешь на этих своих КА со стеком состояний.

Ссылку на пример я дал в том сообщении, на которое ты отвечал.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 24.05.12 21:04
Оценка: :))) :))) :)))
Здравствуйте, TimurSPB, Вы писали:

ВП>>Я ввел понятие "эргономичный алгоритм". Это принципиально новое фундаментальное научное понятие.

TSP>Как выглядит эргономичная быстрая сортировка?
Элементарно:
http://files.rsdn.org/37054/export.png

Всё просто и эргономично!
Sapienti sat!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 24.05.12 21:06
Оценка: +1
Здравствуйте, Mazay, Вы писали:

M>Да? И как же выделенное облегчает "алгоритмизацию"? Повторенье мать ученья?

M>http://files.rsdn.org/19343/drakon_p13.png
Кстати, даже этот детский пример — неправильный.

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

Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.
Sapienti sat!
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 21:32
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Просто пойми одну простую вещь: Решения задачи в терминах предметной области, которая не имеет ничего общего с КА будет раз в 100 меньше чем то, что ты напишешь на этих своих КА со стеком состояний.


WH>Ссылку на пример я дал в том сообщении, на которое ты отвечал.


Ок, глянул, и, думаю, понял. Я сам вообще любитель писать DSL, есть грешок, бывает и не совсем к месту в плане трудозатрат на разработку DSL и выгод от его использования. Когда ясно, что надо одну шестую часть суши перепахать при помощи предполагаемого DSL — тут вопросов нет, а когда это на текущий момент три дачных огорода, правда в планах работодателя прикупить еще то ли 10, то ли 1000 тыщ гектар, тут сложно решить, как быть.

Ну а свой КА со стеком состояний я как раз и использовал для написания IDL, то есть некоторым образом DSL. Из того IDL генерились интерфейсы для С/C++, что было приятно для межмодульного взаимодйствия — приятно было то, что можно было использовать только то, что поддерживает IDL, который сам по себе, если его знать, как и во что он преобразует, является документацией. Можно было написать coding std, потратив наверно еще и больше времени, и получив бумагу, которая ничего не гарантирует.
Ну а КА также хороши как для создания DSL, так и для создания программ на этом DSL. Был бы хороший расширяемый инструмент, а новый бэкэнд всегда можно присунуть.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 22:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>К примеру, не обрабатывается ситуация "кончились черви" или "жена позвонила и сказала бежать домой". Причём если их добавлять, то схема (и так уже сложная) перестанет быть понимаемой.


C>Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.


State-машина гораздо приятнее в этом плане. Надо просто для нового типа события "позвонила жена" или "кончились черви" обойти состояния, и решить в каждом случае, как реагировать. Можно проигнорировать (по дефолту) или добавить новые состояния и/или новые дуги на графе переходов. Топик-стартер отстал от жизни лет на 10, видимо он так плотно занимался Драконом, что некогда было по сторонам смотреть. Такое бывает, в этом нет ничего странного или зазорного. Сам с таким
Автор: Marty
Дата: 28.08.10
возился (и таки лелею мечту продолжить — скрестить C,C++,D и динамические языки типа Питона и Lua через пачку интерфесов). Я пока правда отложил это занятие — за паровозами индустрии тяжело успевать, подустал лабать, решил отдышаться и посмотреть, куда дальше двигаться.
Ну я отвлекся. ТС'у надо по сторонам оглядеться, я уже пару раз тут писал, что следовало бы посмотреть. Человек не побоялся озвучить свои мысли — это плюс. Человек сильно отстал от жизни — это минус. Хочу пожелать ему удачи, и надеюсь, что в следующий раз он выйдет более подготовленным.
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 24.05.12 22:11
Оценка: +2
Здравствуйте, Marty, Вы писали:

C>>К примеру, не обрабатывается ситуация "кончились черви" или "жена позвонила и сказала бежать домой". Причём если их добавлять, то схема (и так уже сложная) перестанет быть понимаемой.

C>>Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.
M>State-машина гораздо приятнее в этом плане. Надо просто для нового типа события "позвонила жена" или "кончились черви" обойти состояния, и решить в каждом случае, как реагировать. Можно проигнорировать (по дефолту) или добавить новые состояния и/или новые дуги на графе переходов.
Получится уйма переходов — жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются.

Для state-машины графическое представление может быть удобно. А может быть и неудобно — я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort").

Ну и в любом случае, state-машины — это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру данных — у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту — очень интересный вопрос.
Sapienti sat!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 24.05.12 22:57
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.

M>>State-машина гораздо приятнее в этом плане. Надо просто для нового типа события "позвонила жена" или "кончились черви" обойти состояния, и решить в каждом случае, как реагировать. Можно проигнорировать (по дефолту) или добавить новые состояния и/или новые дуги на графе переходов.
C>Получится уйма переходов — жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются.
Так дефолтный переход по необрабатываемым событиям — "Послать нах" А где жену можно обработать — так обрабатывем явно

C>Для state-машины графическое представление может быть удобно. А может быть и неудобно — я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort").

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

C>Ну и в любом случае, state-машины — это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру данных — у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту — очень интересный вопрос.

Ну, структуры могут быть либо частью состояния машины, либо параметрами event'а для state-машины. А вообще, конечно, всю программу целиком нельзя или очень сложно описать стейт-машиной, но реакция машины на события обычно не тривиальная, и подразумевает вызов метода обработчика, который может и со структурами работать.
Связанный список или хэш-мэп — это проблемы пользователя state-машины, который должен переопределить метод save_to_hash_map или save_to list, или более обще — save_to_storage, если такой заявлен в машине.
Автоматное программирование и концепция state-machine, и их развитие мне стало интересно после того, как мне удалось сделать при помощи автоматов вполне функциональный http-сервер, с которым работали ie, chrome, opera и firefox для веб-настройки девайса на x86, где под программу и данные было около 100Кб, и большую часть занимал код 10ти или 15ти страничек, которые надо было выводить, а также код, обрабатывающий запросы. Не то чтобы я хвалюсь, но это был вин, ну по крайней мере для меня
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: roro  
Дата: 25.05.12 03:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Marty, Вы писали:


C>>>К примеру, не обрабатывается ситуация "кончились черви" или "жена позвонила и сказала бежать домой". Причём если их добавлять, то схема (и так уже сложная) перестанет быть понимаемой.

C>>>Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.
M>>State-машина гораздо приятнее в этом плане. Надо просто для нового типа события "позвонила жена" или "кончились черви" обойти состояния, и решить в каждом случае, как реагировать. Можно проигнорировать (по дефолту) или добавить новые состояния и/или новые дуги на графе переходов.
C>Получится уйма переходов — жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются.

Если новые состояния переключаются event`ом будет только одна точка входа wait_events -> process.
Прерывания, насколько знаю, тоже можно в одной функции обрабатывать и иметь одну точку входа обработчик.

C>Для state-машины графическое представление может быть удобно. А может быть и неудобно — я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort").


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

C>Ну и в любом случае, state-машины — это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру данных — у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту — очень интересный вопрос.


Вот не надо, установить tcp соединение это уже стейт-машина примитивная.
Re[9]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 25.05.12 05:15
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вы давно преподавали в вузе, чтобы так БЕЗАПЕЛЛЯЦИОНННО судить о качестве преподавательских технологий?

Я слава господу не преподавал. Я просто периодически наблюдаю разницу в людях вышедших из ВУЗ-ов, т.е. получивших образование определенного качества. И вывод очень прост — те люди которые получали классическое математическое или CS-образование имеют гораздо более высокий уровень компетентности и адекватности.
LVV>Знает тот, кто делает (с)
Кто умеет, делает; кто не умеет, учит других. (с)

LVV>Значит, так учили. Или сам учился.

Система учила и получился возможно умный но не образованный человек. А мог бы быть образованным.

LVV>UML вначале тоже только три человека делали.

UML прошел полный путь от идеи до международного признания и стандартизации за 10 лет. А известность получил через 5 лет после старта. А сколько вы говорите дракон жив? 20-30 лет?
Re[10]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 09:28
Оценка: :)
Уважаемые коллеги!

Предлагаю вашему вниманию Заключение по книге 2012 года.

АЛГОРИТМЫ ДОЛЖНЫ БЫТЬ ПОНЯТНЫМИ
(вместо заключения)


ЗАЧЕМ НАПИСАНА ЭТА КНИГА?

В этой книге мы попытались:

• провести четкую грань между алгоритмизацией и программированием;
• сосредоточить внимание на алгоритмах, оставив программирование за рамками книги;
• изложить основы алгоритмизации;
• создать средства, обеспечивающие максимально возможную понятность алгоритмов. И за счет этого сделать алгоритмы доступными для «народа».

КРИТИКА ТРАДИЦИОННЫХ ПОДХОДОВ

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

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

Традиционные формы представления алгоритмов отжили свой век и должны сойти со сцены. Именно они несут ответственность за господствующую на нашей планете алгоритмическую неграмотность.

КАКИЕ РЕЗУЛЬТАТЫ ПОЛУЧЕНЫ?

• Предложен новый способ записи алгоритмов – дракон-схемы.

• Благодаря этому новшеству алгоритмы становятся значительно более понятными, общедоступными, кристально ясными.

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

• Дракон-схемы облегчают и ускоряют обучение алгоритмизации.

• Новый способ записи дает возможность коренным образом изменить систему образования в области алгоритмизации. И познакомить с алгоритмами более широкие слои населения;

Можно предположить, что внедрение дракон-схем в массовую практику поможет обеспечить ликвидацию алгоритмической неграмотности.

ПОНЯТНОСТЬ АЛГОРИТМОВ

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



Слово «понятны» следует пояснить. Нужны не просто понятные, а в высшей степени понятные алгоритмы. Это значит, что должен выполняться принцип: «Взглянул – и сразу понял!», «Посмотрел – и мигом во всем разобрался!».

С учетом этих пояснений вводится термин «критерий сверхвысокой понятности».

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

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

КОГНИТИВНАЯ ЭРГОНОМИКА

Язык ДРАКОН имеет две опоры. Первая – математика. Вторая – психология, точнее, когнитивная эргономика. Именно эргономика позволяет сделать дракон-схемы изящными и доступными. При создании ДРАКОНа был использован научный подход к эргономизации конструкций языка.

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

Когнитивная эргономика позволила преобразовать неудобные и устаревшие блок-схемы в элегантные очертания приятных и доходчивых дракон-схем.

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

СТАНЕТ ЛИ ДРАКОН ЧЕМПИОНОМ МИРА
ПО КРИТЕРИЮ «ПОНЯТНОСТЬ АЛГОРИТМОВ»?


Претензия ДРАКОНа на «мировое господство» ограничена. Он вступает в конкурентную борьбу только с императивными и процедурными языками (точнее, с императивно-процедурными частями языков). И только в том случае, когда понятность алгоритмов является главным требованием к языку. Тем, кто желает писать непонятные или трудные для понимания алгоритмы, ДРАКОН не нужен.

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

ДРАКОН-КОНСТРУКТОР

Дракон-конструктор – верный слуга алгоритмиста. Эта компьютерная программа способна оказать человеку огромную помощь при создании алгоритмов.

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

Кроме того, дракон-конструктор осуществляет автоматическое доказательство правильности дракон-схем, гарантируя принципиальную невозможность ошибок визуального синтаксиса.

Безошибочное проектирование графики дракон-схем – важное преимущество, повышающее производительность труда при практической работе.


ГДЕ СКАЧАТЬ ДРАКОН-КОНСТРУКТОР?

Ответ дан на стр. 414.

Не исключено, что к моменту выхода этой книги на сайтах «Визуальный язык ДРАКОН» http://drakon.su/,
«Алгоритмический язык ДРАКОН»
http://drakon-practic.ru/ и форуме http://forum.oberoncore.ru/viewforum.php?f=77

появится новая информация о разработке общедоступных инструментальных программ языка ДРАКОН.

См. также электронную энциклопедию «Википедия», статья ДРАКОН.

Как связаться с автором?
Электронная почта: vdp2007@ bk.ru
Тел. 8 (495) 331-50-72
8
(495) 535-34-13

С уважением В. Паронджанов
Re[10]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 09:57
Оценка:
Здравствуйте, a_g_99, Вы писали:

LVV>>Знает тот, кто делает (с)

__>Кто умеет, делает; кто не умеет, учит других. (с)
Вот именно!
Учить вы не умеете, а беретесь судить о преподавании.
А писать программы в 60 лет вы умеете?
LVV>>Значит, так учили. Или сам учился.
__>Система учила и получился возможно умный но не образованный человек. А мог бы быть образованным.
У нас таких нет. Наши — все умеют и образованные.
LVV>>UML вначале тоже только три человека делали.
__>UML прошел полный путь от идеи до международного признания и стандартизации за 10 лет. А известность получил через 5 лет после старта. А сколько вы говорите дракон жив? 20-30 лет?
Проектирование Бурана — секретность была большая.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 25.05.12 10:29
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Уважаемые коллеги!

Все же мне хочется получить ответ на свой вопрос.
Re: Язык ДРАКОН — новая идея в программировании
Автор: WolfHound
Дата: 24.05.12
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 25.05.12 10:51
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Учить вы не умеете, а беретесь судить о преподавании.

Вы абсолютно правы учить я не умею, тут каждому свое. Но я сталкиваюсь с современным продуктом образования и могу судить о его качестве, а следовательно о качестве преподавания этого образования. И когда преподающий мне, как человеку из индустрии, для которой готовится этот продукт (специалист), сообщает что рисование это хорошо, это приоритет, мне становится смешно. Специалист должен понимать суть мат. аппарата и основные cs-алгоритмы, он должен выражать их куцым математическим языком формул и алгоритмов. А блок-схемы и подобные рисуночки пусть чертят на кафедре художников.
Меня кстати поражает тот факт, как в своем подавляющем большинстве (не касается нескольких вузов и пары мат. институтов) российская система образования упорно пытается превратить студента в идиота. Креативный подход.
LVV>А писать программы в 60 лет вы умеете?
Мне не 60 лет, но писать программы я умею. Надеюсь, что хорошо. Уверен когда мне будет 60 я буду делать это еще лучше.

LVV>У нас таких нет. Наши — все умеют и образованные.

Чьи это ваши? Прямо интересно стало

LVV>Проектирование Бурана — секретность была большая.

Ну да. Кровавая гэбня зарубила такой язычище. Просто плакать от смеха хочется
Re[12]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 11:03
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


LVV>>Учить вы не умеете, а беретесь судить о преподавании.

__>Вы абсолютно правы учить я не умею, тут каждому свое. Но я сталкиваюсь с современным продуктом образования и могу судить о его качестве, а следовательно о качестве преподавания этого образования. И когда преподающий мне, как человеку из индустрии, для которой готовится этот продукт (специалист), сообщает что рисование это хорошо, это приоритет, мне становится смешно. Специалист должен понимать суть мат. аппарата и основные cs-алгоритмы, он должен выражать их куцым математическим языком формул и алгоритмов. А блок-схемы и подобные рисуночки пусть чертят на кафедре художников.
1. Насчет приоритета — вы передергиваете.
2. Рисование — это и SADT, и UML, и DFD и Дракон и многое еще другое...
И это составляет ЧАСТЬ профессиональных знаний разработчика.
Так же как теория графов — тоже ЧАСТЬ тех же самых знаний.
__>Меня кстати поражает тот факт, как в своем подавляющем большинстве (не касается нескольких вузов и пары мат. институтов) российская система образования упорно пытается превратить студента в идиота. Креативный подход.
Система может и пытается, а мы, наоборот, стараемся из идитота сделать специалиста...
LVV>>А писать программы в 60 лет вы умеете?
__>Мне не 60 лет, но писать программы я умею. Надеюсь, что хорошо. Уверен когда мне будет 60 я буду делать это еще лучше.
Если только вам не надоест и вы не уйдете в управленцы...
LVV>>У нас таких нет. Наши — все умеют и образованные.
__>Чьи это ваши? Прямо интересно стало
Наши выпускники — нашей каферы.
LVV>>Проектирование Бурана — секретность была большая.
__>Ну да. Кровавая гэбня зарубила такой язычище. Просто плакать от смеха хочется
Попалчьте — это иногда бывает сильно полезно...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Язык ДРАКОН — новая идея в программировании
От: vl690001x Россия  
Дата: 25.05.12 11:06
Оценка: :))) :))
Почему многие сразу принимаются за критику, толком не разобравшись?
Причина банальна — любая новая технология угрожает уже имеющимся специалистам, ведь им как минимум, надо понять что она из себя представляет, оценить насколько она может конкурировать с их собственной, какие задачи на ней возможно решаются лучше, и в конечном итоге — может быть даже заняться ее изучением.
Но это нерационально с точки зрения эгоизма, поэтому лучше сразу назвать технологию говном, а тех кто ее продвигают — недоучками.

Не знаю ничего насчет именно языка ДРАКОН, слышал где-то, подумал что это что-то детское, но мне в глаза сразу бросилось одно обстоятельство. То что этот (или похожий) язык будет очень хорош для планшетов. А в дальнейшем я думаю появятся еще более революционные интерфейсы чем сенсорные пальце-ориентированные.
В конечном итоге, возможно что управление компьютером лет через 20 будет выглядеть как комбинированное использование жестов руками в воздухе, движения глаз и губ, мимики лица, и голосовых команд. При этом будет достигнута очень важная цель — скорость взаимодействия между мозгом и компьютером возрастет на порядок и возможно, любая идея, только зародившаяся в голове, сможет обретать свое представление в формальных схемах. Конечно эти схемы будут графическими, и похожими на карты разума.
Таково мое видение будущего.

Так что я думаю, что язык ДРАКОН безусловно имеет будущее, но он в этом не одинок.
Re: Язык ДРАКОН — новая идея в программировании
От: mazurkin http://mazurkin.info
Дата: 25.05.12 11:08
Оценка:
On 23/05/12 23:31, Владимир Паронджанов wrote:

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


Мне все таки кажется, что будущее — за дешкомпьютерами

https://www.google.com/search?q=%D0%B4%D0%B5%D1%88%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Язык ДРАКОН — новая идея в программировании
От: TimurSPB Интернет  
Дата: 25.05.12 11:15
Оценка: :)
C>Всё просто и эргономично!
Внимательно почитал. Там в стандартной библиотеке Turbo Dragoon Ergonomic Lib есть расширение:
http://files.rsdn.org/80019/fast.JPG
ИМХО, так эргономичнее.
Make flame.politics Great Again!
Re[13]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 25.05.12 11:45
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>1. Насчет приоритета — вы передергиваете.

Нисколько. Просмотрите свои предыдущие посты. Вы там пытались доказать что рисуночки студент воспримет лучше чем мат. аппарат, а следовательно мертворожденное дряхлое дитя советской околонаучной деятельности именуемой дракон (что за бредовое название ))?) имеет смысл, будет расти и пахнуть.
LVV>2. Рисование — это и SADT, и UML, и DFD и Дракон и многое еще другое...
Угу, и PowerPaint и фотошоп. И лист бумаги. Вы только не прояснили чем лист бумаги хуже дракона.
LVV>Наши выпускники — нашей каферы.
Самое страшное для выпускников вашей кафедры, это то что они будут знать слово "дракон", но не будут знать классический курс CS. И когда они придут устраиваться на работу, над ними просто посмеются.

Салют
Re[2]: Язык ДРАКОН — новая идея в программировании
От: 11molniev  
Дата: 25.05.12 12:14
Оценка: +1 -1
Здравствуйте, vl690001x, Вы писали:

V>Почему многие сразу принимаются за критику, толком не разобравшись?

Почему многие что-то придумавшие сразу принимаються за пропаганду, толком не разобравшись (чё же придумали)?
V>Причина банальна — любая новая технология угрожает уже имеющимся специалистам, ведь им как минимум, надо понять что она из себя представляет, оценить насколько она может конкурировать с их собственной, какие задачи на ней возможно решаются лучше, и в конечном итоге — может быть даже заняться ее изучением.
Причина банальна — человеку которому лень изучать что то уже существующее, проще придумать что то свою. Ведь когда это что то свою — то его не надо изучать, понимать что оно из себя представляет, оценивать насколько может конкурировать с аналогами и т.д.
V>Но это нерационально с точки зрения эгоизма, поэтому лучше сразу назвать технологию говном, а тех кто ее продвигают — недоучками.
Но это нерационально с точки зрения эгоизма, поэтому лучше сразу назвать технологию прорывов и будущем, а тех кто ее не продвигает — недоучками.
Но это нерационально с точки зрения здравого смысла, потому что разумно сначала изучить аналоги, выделить их недостатки и положительные черты, а уже потом делать что то новое, имеющее преимущества перед уже существующими технологиями.

V>Не знаю ничего насчет именно языка ДРАКОН, слышал где-то, подумал что это что-то детское, но мне в глаза сразу бросилось одно обстоятельство. То что этот (или похожий) язык будет очень хорош для планшетов. А в дальнейшем я думаю появятся еще более революционные интерфейсы чем сенсорные пальце-ориентированные.

Не знаю ничего насчет именно языка ДРАКОН, слышал где-то (тут), подумал что это что-то детское бессмысленное, но мне в глаза сразу бросилось одно обстоятельство. То что этот (или похожий) язык очень похож на обычные блок схемы. По ГОСТу. Которые придумали ещё до первых языков программирования. И от которых отказались. Для которых есть не одна реализация. И все реализации провалились. Что преимущества языка описаны детскими фразами "ввел термин эргономичность", "проще", "легче" и что это язык программирования для НЕпрограммистов.
И на планшеты мне кстати пофиг. И программировать в будущем я хочу не пальцами а мыслями. Ну или хотя бы голосом.

V>В конечном итоге, возможно что управление компьютером лет через 20 будет выглядеть как комбинированное использование жестов руками в воздухе, движения глаз и губ, мимики лица, и голосовых команд. При этом будет достигнута очень важная цель — скорость взаимодействия между мозгом и компьютером возрастет на порядок и возможно, любая идея, только зародившаяся в голове, сможет обретать свое представление в формальных схемах. Конечно эти схемы будут графическими, и похожими на карты разума.

В конечном итоге мне пофиг. Но если человек заявляет лучше, мне все же интерестно в чем это абстрактное "лучше" заключаеться. Если человек говорит новый мне интерестно, чем же он отличаеться от существовавщих. Если человек говорит существующие не подходят — мне очень интерестно почему, и какие же именно.
V>Таково мое видение будущего.
Таково мое видиние настоящего.

V>Так что я думаю, что язык ДРАКОН безусловно имеет будущее, но он в этом не одинок.

Так что я думаю, что язык ДРАКОН вероятно не имеет будущего, уже потому, что у него нет настоящего.
Re[14]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 12:45
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


LVV>>1. Насчет приоритета — вы передергиваете.

__>Нисколько. Просмотрите свои предыдущие посты. Вы там пытались доказать что рисуночки студент воспримет лучше чем мат. аппарат, а следовательно мертворожденное дряхлое дитя советской околонаучной деятельности именуемой дракон (что за бредовое название ))?) имеет смысл, будет расти и пахнуть.
Передщергиваете. Я говорил о том, что мы проводили опрос. На предмет в каком виде легче доходит алгоритм.
И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.
А пацаны — в основном псевдокод. Но есть отдельные личности, которым пофигу: одинаково информативным является и псевдокод, и схемы-картинки.
LVV>>2. Рисование — это и SADT, и UML, и DFD и Дракон и многое еще другое...
__>Угу, и PowerPaint и фотошоп. И лист бумаги. Вы только не прояснили чем лист бумаги хуже дракона.
Не хуже. На листе бумаги можно нарисовать Дракон-схему, и UML-диаграмму...
LVV>>Наши выпускники — нашей каферы.
__>Самое страшное для выпускников вашей кафедры, это то что они будут знать слово "дракон", но не будут знать классический курс CS. И когда они придут устраиваться на работу, над ними просто посмеются.
Опять же — вы нифига не знаете про то, что изучают наши студенты, а делаете безапелляционные выводы.
Привет вашей логике... Она даже на женскую не похожа...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 13:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Дракон-схема задает конечный автомат.


Да, это правильно. Дракон-схема задает конечный автомат. Но не только.

WH>Если задача не сводится к конечному автомату, то дракон работать перестает.


Нет, это неправильно. ДРАКОН позволяет описывать любые алгоритмы.


Уважаемый модератор WolfHound!

Если интересно, я могу переслать Вам по мейлу следующий материал (48 страниц, pdf):

Часть VII. Теоретические основы языка ДРАКОН ....................................425

Глава 34. Исчисление икон .......................................................427

Глава 35. Метод Ашкрофта-Манны и алгоритмическая структура «силуэт» .............436

Глава 36. Визуальный структурный подход к алгоритмам и программам (шампур-метод) 449

С уважением В. Паронджанов
Re[3]: Язык ДРАКОН — новая идея в программировании
От: VoidEx  
Дата: 25.05.12 13:23
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кстати, даже этот детский пример — неправильный.


C>К примеру, не обрабатывается ситуация "кончились черви" или "жена позвонила и сказала бежать домой". Причём если их добавлять, то схема (и так уже сложная) перестанет быть понимаемой.


C>Да, и ещё непонятно как легко откомментировать кусочек схемы. Оверквотинг сплошной получается.


Дык это потому, что всё на одной картинке. Вы мысленно переведите в текст (с которым мы привыкли), такое же безобразие получится. Далее вы разделите на разные функции и вуаля. Ну так и тут можно перерисовать в "иди на рыбалку, рыбачь, иди домой", где "рыбачь" — "проверь наживку, кидай, жди" ну и так далее.
Правда, смысла я в этом всём всё равно не вижу, но ваши придирки все не потому, что ДРАКОН не тот, а потому что пример уродливый.
Re[15]: Язык ДРАКОН — новая идея в программировании
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 25.05.12 13:27
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Передщергиваете. Я говорил о том, что мы проводили опрос. На предмет в каком виде легче доходит алгоритм.

LVV>И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.
LVV>А пацаны — в основном псевдокод. Но есть отдельные личности, которым пофигу: одинаково информативным является и псевдокод, и схемы-картинки.

Это неверный вывод. Правильно будет — в опросах, девушки отвечают, что лучше воспринимают схемы, а парни отвечают, что лучше воспринимают псевдокод. Это далеко не то же самое.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 25.05.12 13:31
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

WH>>Если задача не сводится к конечному автомату, то дракон работать перестает.

ВП>Нет, это неправильно. ДРАКОН позволяет описывать любые алгоритмы.
Это правильно. Теоретически можно всё на brainfuck'е написать — так как он Тьюринг-полный. Но практически — достаточно посмотреть на его название.

Если это не так, то попрошу привести здесь алгоритм быстрой сортировки, балансировки бинарного дерева и парсера текста. Чтоб их можно было реально выполнить.
Sapienti sat!
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 25.05.12 13:38
Оценка: +3 -1
Здравствуйте, vl690001x, Вы писали:

V>Почему многие сразу принимаются за критику, толком не разобравшись?

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

До ДРАКОНа были Together, Rational Rose и прочие гадости. Кто-то их помнит?

V>Так что я думаю, что язык ДРАКОН безусловно имеет будущее, но он в этом не одинок.

Имеет — в качестве посмешища.
Sapienti sat!
Re[16]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 13:45
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, LaptevVV, Вы писали:


LVV>>Передщергиваете. Я говорил о том, что мы проводили опрос. На предмет в каком виде легче доходит алгоритм.

LVV>>И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.
LVV>>А пацаны — в основном псевдокод. Но есть отдельные личности, которым пофигу: одинаково информативным является и псевдокод, и схемы-картинки.

DR>Это неверный вывод. Правильно будет — в опросах, девушки отвечают, что лучше воспринимают схемы, а парни отвечают, что лучше воспринимают псевдокод. Это далеко не то же самое.

Ну, мы исходим из того, что они говорят правду. Конечно, можно наворотить целое психологическое исследование...
Но опрос был спонтанным, никтьо о нем заранее не знал. Просто в один день пришла в голову такая мысль — спросить, кому как проще воспринимать объяснение алгоритма.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[17]: Язык ДРАКОН — новая идея в программировании
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 25.05.12 13:55
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, мы исходим из того, что они говорят правду. Конечно, можно наворотить целое психологическое исследование...

LVV>Но опрос был спонтанным, никтьо о нем заранее не знал. Просто в один день пришла в голову такая мысль — спросить, кому как проще воспринимать объяснение алгоритма.

Без исследования, опрос это всего лишь опрос. Другой вывод, который из него можно сделать, это что девушки больше склонны отвечать то, что преподаватель хочет услышать (experimenter's bias). Или, что девушки более внушаемы и после курса по схематическому программированию уверены, что нашли серебряную пулю. Или, что студенты отвечают согласно сложившимся стереотипам.
Ce n'est que pour vous dire ce que je vous dis.
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 13:57
Оценка:
Здравствуйте, Курилка, Вы писали:

К>проектирование в первую очередь затрагивает вопросы декомпозиции задачи на слои/функции/объекты и т.п.? Или в драконе есть аналоги структурных диаграмм UML, например?


Да, есть. В драконе есть аналоги структурных диаграмм UML (диаграмм поведения). Если говорить более точно:

Аналогом дракон-схем служат диаграммы поведения (behaviour diagrams) языка UML, в частности, диаграмма деятельности (activity diagram), диаграмма состояний (UML state machine diagram) и некоторые диаграммы взаимодействия (interaction diagrams), например, диаграмма синхронизации (timing diagram).

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

С уважением В. Паронджанов
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Marty Пират  
Дата: 25.05.12 13:58
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>До ДРАКОНа были Together, Rational Rose и прочие гадости. Кто-то их помнит?

Я помню. Помню, что роза рациональная, и что она синоним абракадабрской жопы. У жопы и розы общее то, что количество букв одинаково
Вам как-бы показали сцыкливое мурло российской оппозиции — вот оно
Автор: Министр Промышленности
Дата: 17.10 22:57
!
Re[18]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 13:59
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, LaptevVV, Вы писали:


LVV>>Ну, мы исходим из того, что они говорят правду. Конечно, можно наворотить целое психологическое исследование...

LVV>>Но опрос был спонтанным, никтьо о нем заранее не знал. Просто в один день пришла в голову такая мысль — спросить, кому как проще воспринимать объяснение алгоритма.

DR>Без исследования, опрос это всего лишь опрос. Другой вывод, который из него можно сделать, это что девушки больше склонны отвечать то, что преподаватель хочет услышать (experimenter's bias). Или, что девушки более внушаемы и после курса по схематическому программированию уверены, что нашли серебряную пулю. Или, что студенты отвечают согласно сложившимся стереотипам.

1. Про девушек — это все понятно.
2. У нас нет курса по схематическому программированию.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 25.05.12 14:06
Оценка:
Здравствуйте, roro, Вы писали:

C>>Получится уйма переходов — жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются.

R>Если новые состояния переключаются event`ом будет только одна точка входа wait_events -> process.
R>Прерывания, насколько знаю, тоже можно в одной функции обрабатывать и иметь одну точку входа обработчик.
Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм — неудобно.

C>>Для state-машины графическое представление может быть удобно. А может быть и неудобно — я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort").

R>Диаграмма нагляднее отображает что происходит, даже в случае очень высокоуровневых шаблонов.
Чем нагляднее? Я тут не увидел ни одной реальной диаграммы кроме кривых детских примеров.

C>>Ну и в любом случае, state-машины — это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру данных — у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту — очень интересный вопрос.

R>Вот не надо, установить tcp соединение это уже стейт-машина примитивная.
И чем это противоречит моим словам? Как я напишу реализацию TCP-стека с помощью state-машины?
Sapienti sat!
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 14:29
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Просто пойми одну простую вещь: Решения задачи в терминах предметной области, которая не имеет ничего общего с КА ...


Я согласен с Вами, что решение задачи в терминах предметной области — это хорошо.

На Драконе задачи прекрасно решаются в терминах предметной области. На работе я организую работу именно таким образом.
С уважением В. Паронджанов
Re[3]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 25.05.12 15:14
Оценка: +1
Здравствуйте, Владимир Паронджанов, Вы писали:

WH>>Дракон-схема задает конечный автомат.

ВП>Да, это правильно. Дракон-схема задает конечный автомат. Но не только.
За счет вызовов она умеет задавать КА со стеком. А что еще?

WH>>Если задача не сводится к конечному автомату, то дракон работать перестает.

ВП>Нет, это неправильно. ДРАКОН позволяет описывать любые алгоритмы.
Еще раз. Полнота по Тьюрингу меня не волнует.
Меня волнует решение задачи в терминах предметной области.
Ибо только так можно достичь максимальной выразительности.

ВП>Если интересно, я могу переслать Вам по мейлу следующий материал (48 страниц, pdf):

Не интересно. Ибо КА приемлемы в очень малом наборе задач.
Мне интересно как на драконе будет выглядеть аналог кода на даталоге.
Или аналог EBNF грамматики.
Или SQL запрос.
Я могу продолжать этот список очень долго.

Поймите я не против ДРАКОНА. И возможно буду использовать его, если мне понадобится, чтобы не программисты описывали что-то что сводится к КА.
Но вы должны понять, что область применения ДРАКОНА очень узкая. И он не может быть эффективен в очень широком классе задач.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 25.05.12 15:17
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>На Драконе задачи прекрасно решаются в терминах предметной области. На работе я организую работу именно таким образом.

Только если предметная область сводится к КА.
А если нет, то все становится печально.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Язык ДРАКОН — новая идея в программировании
От: vl690001x Россия  
Дата: 25.05.12 16:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

V>>Так что я думаю, что язык ДРАКОН безусловно имеет будущее, но он в этом не одинок.

C>Имеет — в качестве посмешища.


Ну я бы тоже не стал его изучать, даже хотя бы из-за названия. Кроме того у меня есть предубеждение против всего на чем пилят бабки. Но направление перспективное.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: ins-omnia СССР  
Дата: 25.05.12 16:20
Оценка:
Здравствуйте, vl690001x, Вы писали:

V>Почему многие сразу принимаются за критику, толком не разобравшись?

V>Причина банальна — любая новая технология угрожает уже имеющимся специалистам, ведь им как минимум, надо понять что она из себя представляет, оценить насколько она может конкурировать с их собственной, какие задачи на ней возможно решаются лучше, и в конечном итоге — может быть даже заняться ее изучением.
V>Но это нерационально с точки зрения эгоизма, поэтому лучше сразу назвать технологию говном, а тех кто ее продвигают — недоучками.

V>Не знаю ничего насчет именно языка ДРАКОН, слышал где-то, подумал что это что-то детское, но мне в глаза сразу бросилось одно обстоятельство. То что этот (или похожий) язык будет очень хорош для планшетов. А в дальнейшем я думаю появятся еще более революционные интерфейсы чем сенсорные пальце-ориентированные.

V>В конечном итоге, возможно что управление компьютером лет через 20 будет выглядеть как комбинированное использование жестов руками в воздухе, движения глаз и губ, мимики лица, и голосовых команд. При этом будет достигнута очень важная цель — скорость взаимодействия между мозгом и компьютером возрастет на порядок и возможно, любая идея, только зародившаяся в голове, сможет обретать свое представление в формальных схемах.

Уже сейчас всё гораздо круче: большая часть идей, которые зарождаются у людей в голове, заранее существует в виде формальных схем, инсталируемых в головы через зомбоящик.

V>Так что я думаю, что язык ДРАКОН безусловно имеет будущее, но он в этом не одинок.


Хороший стёб
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
Re[7]: Язык ДРАКОН — новая идея в программировании
От: roro  
Дата: 25.05.12 16:21
Оценка: 4 (1)
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, roro, Вы писали:


C>>>Получится уйма переходов — жена может позвонить на каждом шаге. Нужно вводить что-то типа исключений, которые графически не особо красиво рисуются.

R>>Если новые состояния переключаются event`ом будет только одна точка входа wait_events -> process.
R>>Прерывания, насколько знаю, тоже можно в одной функции обрабатывать и иметь одну точку входа обработчик.
C>Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм — неудобно.

Можно пример, в каком месте вывернет?

C>>>Для state-машины графическое представление может быть удобно. А может быть и неудобно — я сейчас как раз пишу планировщик задач, где state-машин полно. Но мне их удобнее описывать кодом (в виде набора узлов и переходов), а потом генерировать по ним graphviz'овский .dot-файл для документации (собственно, я так и нарисовал "эргономичный quicksort").

R>>Диаграмма нагляднее отображает что происходит, даже в случае очень высокоуровневых шаблонов.
C>Чем нагляднее? Я тут не увидел ни одной реальной диаграммы кроме кривых детских примеров.

Диаграммы тут обобщенные, но хорошо иллюстрируют подход к проблеме.

Например так создают AI и постановочные сцены в популярных игровых движках.

Kismet редактор в Uneral Engine.
Flow Graph Editor редактор в CryEngine 3.

Вообще, прочитав статью у меня прошла ассоциация с комбинациями в Го и сохранением рисунка игры (захватом территории).

Знаю что без фреймворка или dsl писать сложные поведения и fsm на c/c++/java/c# то еше удовольствие. А ревьюить без знания кода практически невозможно, только в случае если кто-то будет подсказывать что делает тот или другой кусок кода.

Некоторое время баловался Debugger Canvas, достаточно удобно. Если в таком-же стиле сделать редактор дракона, да с отладкой схем.
И еше добавить уровни:
1 Большие логические модули
2 Подпрограммы
3 Низкоуровневые алгоритмы

И придумать как это все сгруппировать и отобразить )

C>>>Ну и в любом случае, state-машины — это крайне нишевая область. По крайней мере из-за того, что в них нельзя описать структуру данных — у чистой state-машины вообще данных нет (кроме состояния). Как графически описать связный список или хэш-карту — очень интересный вопрос.

R>>Вот не надо, установить tcp соединение это уже стейт-машина примитивная.
C>И чем это противоречит моим словам? Как я напишу реализацию TCP-стека с помощью state-машины?

Тут наверно недопонимание, имел ввиду что простая установка соединения уже требует отслеживания состояния сокета. тоесть работать с сокетом можно только в connected состоянии, при состоянии error нужно переподключится итд..., я в этом вижу стейт машину
Re[2]: Язык ДРАКОН — новая идея в программировании
От: B0FEE664  
Дата: 25.05.12 16:22
Оценка: +1 -1
Здравствуйте, vl690001x, Вы писали:

V>Почему многие сразу принимаются за критику, толком не разобравшись?

Опытны.
V>Причина банальна — любая новая технология угрожает уже имеющимся специалистам, ведь им как минимум, надо понять что она из себя представляет, оценить насколько она может конкурировать с их собственной, какие задачи на ней возможно решаются лучше, и в конечном итоге — может быть даже заняться ее изучением.
Или просто уже знают, что это.

V>Но это нерационально с точки зрения эгоизма, поэтому лучше сразу назвать технологию говном, а тех кто ее продвигают — недоучками.

V>Не знаю ничего насчет именно языка ДРАКОН, слышал где-то, подумал что это что-то детское,
Это не детское. Это очень похожи на блок схемы которые я изучал в школе. Задания были домашние: нарисовать блок схему такого-то алгоритма. Такие схемы подходят для написания коротких и не очень сложных программ и алгоритмов. Полезны в самом начале изучения программирования. Ну, может и не в самом начале, не в третьем классе, когда ученикам дают задание нарисовать путь черепашки в тетради в клеточку диктуя сколько шагов в какую сторону света сделала черепашка, но где-то после этого...

Теперь смотрим, что пишут
Автор: Владимир Паронджанов
Дата: 24.05.12
счастливые пользователи:

И только когда весь алгоритм «отлизан» — переходим к собственно программированию. В чём оно теперь заключается? В том, что для каждой иконы нужно написать код, который выполнит то, что написано на этой иконе. Как правило это 1 строчка. На высоких уровнях иерархии проекта — это может быть вызов одной функции, или одного метода класса (заметим, что все функции и классы тоже нарисованы на ДРАКОНЕ). На нижнем уровне — это может быть изменение одного бита.

Вот я сейчас подсчитал, в одном небольшом проекте, над которым я работаю сейчас 254845 строчек кода. Ну а теперь представьте себе схему с таким количеством иконок. Как думаете их среда разработки выдержит размер поля в 50400х35280 пикселей? (примерно столько понадобится для отрисовки такого количества иконок)

Ну да, большие программы нужны не везде. Но может ли, к примеру, эта разработка выдавать код на JavaScript ? Сомневаюсь.

Вот что нужно современному программисту здесь
Автор: niXman
Дата: 16.05.12
:

существует ли софт, который умеет эмулировать выполнение некоторого кода в многопоточной среде так, чтоб была возможность задать кол-во потоков/точки_входа, и по финалу, создавать граф вызовов или еще какую-нить диаграмму ?


Нужен язык (визуальный, на иконках), который хорошо и ясно представляет программу, код которой исполняется параллельно. Вот если вы подойдете и попросите какого-нибудь программиста объяснить вам как работает его многопоточная (многониточная) программа, то я почти уверен, что он примется что-то рисовать на бумаге в процессе объяснения... но это будет не Дракон.
И каждый день — без права на ошибку...
Re[15]: Язык ДРАКОН — новая идея в программировании
От: a_g_99 США http://www.hooli.xyz/
Дата: 25.05.12 17:07
Оценка: -1
Здравствуйте, LaptevVV, Вы писали:

LVV>Передщергиваете. Я говорил о том, что мы проводили опрос. На предмет в каком виде легче доходит алгоритм.

LVV>И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.
LVV>А пацаны — в основном псевдокод. Но есть отдельные личности, которым пофигу: одинаково информативным является и псевдокод, и схемы-картинки.
Как быстро Вы сдали назад. Я освежу вашу весьма короткую преподавательскую память вашей первой цитатой:
"Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше."

LVV>Привет вашей логике... Она даже на женскую не похожа...

У вас не осталось аргументов и вы решили перейти к оскорблениям? Достойное поведение для преподавателя , продолжайте в том же духе . Так вы привлечете просто массы неистовых поклонников к Дракону .

Смотришь на все это, а потом безучастно читаешь на CNN ньюса о том, что очередной спутник Третьего Рима (а четвертому как известно не быть ) бороздит просторы океана, или устраивает фейерверк в атмосфере. Наверное также чьи студенты познали Новые Идеи В Программировании от мастеров-преподавателей
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. Гибридный язык почти полностью сохраняет концепцию, струк-
туру, типы данных и другие особенности целевого языка. В строго
определенном числе случаев текстовая нотация целевого языка за-
меняется на графическую нотацию Дракона. Такой прием позволя-
ет улучшить эргономический облик гибридного языка и повысить
производительность труда программистов.
С уважением В. Паронджанов
Re[17]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 25.05.12 18:28
Оценка: +3 -1 :)))
> Что это даст? Исходный код программы станет еще более понятным и удобным для человека. И, следовательно, еще больше увеличится производительность труда программистов.

Первым делом на языке ДАКОН нужно составить программу по удалению из "документации" всей демагогии, это позволит сделать язык еще проще, удобнее, понятнее пользователю, после этого (видимо) изучение не потребует неоправданных больших затрат, у специалистов появится резерв времени, они исправят все недостатки и облегчат жизнь алгоритмистов и специалистов, вследствие чего они быстро и легко овладеют и создадут алгоритмы и прикладные программы, создадут мощные инструменты и легко применят их на практике и прочая прочая прочая... фух, дело бредогенераторов живет и процветает, так и хочется взять канделябр и отдубасить этого кулибина легко и непринужденно... тьфу...
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[18]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 25.05.12 18:45
Оценка:
Здравствуйте, grosborn, Вы писали:

G>фух, дело бредогенераторов живет и процветает, так и хочется взять канделябр и отдубасить этого кулибина легко и непринужденно... тьфу...


Уважаемый grosborn!

У меня просьба. Если Вас не очень затруднит, изложите Ваши возражения более подробно и желательно с аргументацией.

Спасибо.
С уважением В. Паронджанов
Re[8]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 25.05.12 19:04
Оценка:
Здравствуйте, roro, Вы писали:

C>>Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм — неудобно.

R>Можно пример, в каком месте вывернет?
Предлагается линейный императивный алгоритм переписать в событийно-управляемый. Читать про сопрограммы и прочее.

R>>>Диаграмма нагляднее отображает что происходит, даже в случае очень высокоуровневых шаблонов.

C>>Чем нагляднее? Я тут не увидел ни одной реальной диаграммы кроме кривых детских примеров.
R>Диаграммы тут обобщенные, но хорошо иллюстрируют подход к проблеме.
Да.

R>Например так создают AI и постановочные сцены в популярных игровых движках.

Не так. AI в играх пишется на старом добром С++ или других языках. Графически только расставляются всякие инициаторы и прочее (дык, а как это делать по-другому?).

R>Kismet редактор в Uneral Engine.

http://udn.epicgames.com/Three/rsrc/Three/KismetHome/kismet.jpg
Ага.

R>Flow Graph Editor редактор в CryEngine 3.

И?

R>Вообще, прочитав статью у меня прошла ассоциация с комбинациями в Го и сохранением рисунка игры (захватом территории).

И?

R>Знаю что без фреймворка или dsl писать сложные поведения и fsm на c/c++/java/c# то еше удовольствие. А ревьюить без знания кода практически невозможно, только в случае если кто-то будет подсказывать что делает тот или другой кусок кода.

И?

R>Некоторое время баловался Debugger Canvas, достаточно удобно. Если в таком-же стиле сделать редактор дракона, да с отладкой схем.

R>И еше добавить уровни:
R>1 Большие логические модули
R>2 Подпрограммы
R>3 Низкоуровневые алгоритмы
Это всё умели делать Rational Rose и Together. Оба сдохли заслуженной смертью.

C>>И чем это противоречит моим словам? Как я напишу реализацию TCP-стека с помощью state-машины?

R>Тут наверно недопонимание, имел ввиду что простая установка соединения уже требует отслеживания состояния сокета. тоесть работать с сокетом можно только в connected состоянии, при состоянии error нужно переподключится итд..., я в этом вижу стейт машину
И дальше что? Возьми реальный код TCP-стека (я даже помогу — вот он: http://lxr.free-electrons.com/source/net/ipv4/tcp.c ) и посмотри на объём кода в нём. State-машина там теряется в объёме реальной работы, которую надо делать при установке соединения.

Я понимаю, у наивных авторов, которые не писали ни строчки реального кода, установка TCP соединения, видимо, будет в виде диаграмки в полстранички.
Sapienti sat!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 25.05.12 19:05
Оценка: :)
> Я ввел понятие "эргономичный алгоритм". Это принципиально новое фундаментальное научное понятие.
>
> Понятие "эргономичный алгоритм" раскрывается через новые определения, новые правила и иллюстрирующие их примеры.

Что ж, 124 страницы это фигня, можно сказать начало, старт проекта. Видимо это кропотливая ручная работа, поэтому ждем трехтомника всяческих новых фундаментальных понятий. А если наскучит, можете заказать у меня в этом стиле стотомник, я когда студентом был баловался генераторами.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[19]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 25.05.12 19:09
Оценка:
> У меня просьба. Если Вас не очень затруднит, изложите Ваши возражения более подробно и желательно с аргументацией.

Вызов на демагогическую дуэль? Как ожидаемо.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Ops Россия  
Дата: 25.05.12 19:13
Оценка: :)
Здравствуйте, grosborn, Вы писали:

G>Что ж, 124 страницы это фигня, можно сказать начало, старт проекта. Видимо это кропотливая ручная работа, поэтому ждем трехтомника всяческих новых фундаментальных понятий. А если наскучит, можете заказать у меня в этом стиле стотомник, я когда студентом был баловался генераторами.


Корчеватель — тоже ты?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.05.12 19:21
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Здравствуйте, Курилка, Вы писали:


К>>проектирование в первую очередь затрагивает вопросы декомпозиции задачи на слои/функции/объекты и т.п.? Или в драконе есть аналоги структурных диаграмм UML, например?


ВП>Да, есть. В драконе есть аналоги структурных диаграмм UML (диаграмм поведения). Если говорить более точно:


ВП>

ВП>Аналогом дракон-схем служат диаграммы поведения (behaviour diagrams) языка UML, в частности, диаграмма деятельности (activity diagram), диаграмма состояний (UML state machine diagram) и некоторые диаграммы взаимодействия (interaction diagrams), например, диаграмма синхронизации (timing diagram).

ВП>Другим аналогом дракон-схем являются блок-схемы алгоритмов, диаграммы Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др.


Всё это выглядит очень странно, если учесть, что диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия (причём в цитате об этом есть упоминание). Да даже и смешивать в одну кучу диаграммы поведения и взаимодействия (как это сделано в вашей цитате) некорректно, ибо это разные диаграммы и акцент в них делается на разные аспекты программы.
Если есть проблемы с тем, что есть структурные диаграммы, можно посмотреть хотяб вики.
Интересно всёж услышать ответ на мой вопрос
Re[5]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 25.05.12 19:31
Оценка:
> G>Что ж, 124 страницы это фигня, можно сказать начало, старт проекта. Видимо это кропотливая ручная работа, поэтому ждем трехтомника всяческих новых фундаментальных понятий. А если наскучит, можете заказать у меня в этом стиле стотомник, я когда студентом был баловался генераторами.
>
> Корчеватель — тоже ты?

Ребят, бредогенераторы были известны в буржуйском мире очень давно, это как минимум лет 30 может и раньше. Ничего сложного нет, при удачном затравочном тексте достаточно простой статобработки и получается текст один в один похожий на творчество этих кулибинских прохвессоров. Они же за смыслом не следят, нахватаются умных слов и комбинируют их, словарный запас у них невелик.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[16]: Язык ДРАКОН — новая идея в программировании
От: LaptevVV Россия  
Дата: 25.05.12 20:07
Оценка: +2
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


LVV>>Передергиваете. Я говорил о том, что мы проводили опрос. На предмет в каком виде легче доходит алгоритм.

LVV>>И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.
LVV>>А пацаны — в основном псевдокод. Но есть отдельные личности, которым пофигу: одинаково информативным является и псевдокод, и схемы-картинки.
__>Как быстро Вы сдали назад. Я освежу вашу весьма короткую преподавательскую память вашей первой цитатой:
__>"Как препод могу сказать, что некоторым студентам и почти всем студенткам гораздо проще посмотреть на картинку алгоритма, чем на текст алгоритма. Для рисования сложных алгоритмов Дракон подходит как нельзя лучше."
И где здесь сдача назад?
Мы провели опрос — результаты я озвучил. Разве что в первом сообщении не написал, что мы спрашивали.

LVV>>Привет вашей логике... Она даже на женскую не похожа...

__>У вас не осталось аргументов и вы решили перейти к оскорблениям? Достойное поведение для преподавателя , продолжайте в том же духе . Так вы привлечете просто массы неистовых поклонников к Дракону .
Прошу извинить, если чем обидел.
Но на женскую логику ваша абсолютно не похожа...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 25.05.12 20:16
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Даю ссылку на Краткое описание языка ДРАКОН. Всего 124 страницы. Много рисунков.

ВП>О космических кораблях нет ни слова. Все примеры очень простые, бытового характера.
ВП>http://drakon-practic.ru/drakon.pdf
Предположим, Драконом пользуются для написания реальных программ
Несколько вопросов:
1) Системы контроля версий. Насколько удобно сделать diff между произвольными ревизиями кода?;
2) Насколько удобно закомментировать какую ветку или часть кода, насколько легко это все вынести в отдельную процедуру?;
3) Книгу я просмотрел очень мельком, все примеры там бытового характера. А вот в реальности насколько удобно рисовать эти диаграмки? Отображают ли эти диаграмки полностью структуру программы с полной детализацией, или же за детализацией нужно нажимать кучу клавиш, переменные скрыты и размазаны, и чтоб реально понять что как работает, придется очень сильно потрудиться?

Спрашиваю это все потому, что визуальными средствами написания программ я пользовался на практике и в реальных проектах. И могу сказать, что обплевался. Простейшие рефакторинги делать крайне затруднительно. На диаграмме не все, чтобы увидеть детали, надо нажимать на прямоугольник и смотреть проперти. А если детализация ого-го, то схема крайне перегружена и ее хрен разберешь. Дополнительно, пока какой управляющий блок набьешь, проклянешь все на свете. diff ни хрена ни сделать — если что работало, кто то что то поменял, и работать перестало, хрен докопаешься до причины. Перед использованием всего этого требуется проходить черти какой инструктаж, ибо куча неочевидных моментов.
Я видел кучу рекламных роликов о том, что вот, наконец то, появился новый язык, программисты не нужны, специалисты в предметной области сами все напишут. И в 100 процентах случаев заканчивалось тем, что приходится привлекать программистов, несмотря на наглядность читаемого представления, эти программисты страшно матерятся, тратят в 10 раз больше времени, а также программистов требуется в 10 раз больше. Ибо кроме того, что это все крайне неудобно использовать на практике, еще и среда разработки страшно глючит, а также при малейшем отклонении от идеального эталонного сценария приходится делать такие извраты и макароны, что появляется желание уйти в запой с горя. А если в самом начале в какой либо переменной допустил орфографическую ошибку — все, это уже практически не исправить. Средств рефакторинга нет, чтобы выделить процедуру, нужно ее рисовать с нуля. Даже переменную переименовать проблема, приходится реплейсить внутреннее представление этой схемки, никому не говоря, ибо это запрещено. В результате, учитывая то, что рефакторить крайне затруднительно, на практике код очень быстро превращается в черти какие макароны, когда на одной схеме тысячи стрелочек и блоков, налезающих друг на друга.

PS Относительно новых идей в программировании — мне понравилось вот это. Это действительно то, чтобы мне хотелось видеть. Но рисование программы визуально в виде аналогов блок схем (неважно — UML это, DFD или дракон схемы) — это очень старая идея, которая себя не оправдала, а пытались это реализовать наверно тысячи фирм.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 25.05.12 20:19
Оценка: -2 :)
Здравствуйте, Трололоша, Вы писали:

Т>Мммм. Будет вкусно!


Это реальный язык, на котором программируют люди, далекие от профессионального программирования. На нем Буран сделали и он полетел. А современные "профессиональные программисты" наверняка бы уронили, к бабке не ходи.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 25.05.12 20:26
Оценка: +1
Здравствуйте, vdimas, Вы писали:

Т>>Мммм. Будет вкусно!

V>Это реальный язык, на котором программируют люди, далекие от профессионального программирования. На нем Буран сделали и он полетел. А современные "профессиональные программисты" наверняка бы уронили, к бабке не ходи.
Бурановский программист в теме уже отметился и сказал, что они ничерта про ДРАКОН не знают.
Sapienti sat!
Re[6]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 25.05.12 20:27
Оценка:
Здравствуйте, a_g_99, Вы писали:


__>А вот в штатах бедолаги не знают и все на UML рисуют. И инструментов там — тьма тьмущая. И все довольны.


У них до UML вообще единых стандартов графических обозначений для ПО не было. Наш ГОСТ их обгонял на десятилетия.


__>И как это так получилось что какой-то там дракон вдруг стал лучше uml-кубиков?


Потому что UML — это НЕ язык программирования. Это язык абстракций. На нем не напишешь полноценную программу. А на Драконе — напишешь.
В этом плане UML полный отстой. Он был изначально разработан как некая упрощенная иконографика для обмена информацией м/у коллегами, поэтому в нем отсутствует целостность. С помощью каждого типа диаграммы можно передать лишь какой-то один аспект происходящего, но никогда всю программу целиком.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 25.05.12 20:27
Оценка: +2
Здравствуйте, Cyberax, Вы писали:

C>До ДРАКОНа были Together, Rational Rose и прочие гадости. Кто-то их помнит?

Розу я до конца жизни не забуду. Помню как поставил, мне в результате перетерлись все MSXML библиотеки, в результате полсистемы перестало работать. Когда то (больше 10 лет назад) верил, что типа такие мегафирмы не могут сделать лажу, а за визуальным программированием действительно будущее. Ладно б одна фирма и единичный случай, а я таких мегавизуальных средств с генерацией кода из сверхпонятнейших диаграмм видел минимум 5. А то и все 10 и более, если считать случаи, когда предоставляют сверхпонятный язык, позволяющий программировать просто аналитикам, а всех программистов поувольнять. По мне, так лучше уж на брейнфаке все писать, для него хоть кодогенератор можно написать с нормального языка и забыть про все ужасы этой визуальщины.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 25.05.12 20:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Дракон-схема задает конечный автомат.

WH>Если задача не сводится к конечному автомату, то дракон работать перестает.

При наличии рекурсий — в магазинный, т.е. превращается в машину Тьюринга.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 25.05.12 20:37
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Если задача не сводится к конечному автомату, то дракон работать перестает.


И кстати, конечные автоматы, по моему наблюдению, даются современным программистам сложнее всего. А тут такая "халява".
Re[6]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 25.05.12 20:42
Оценка: -1 :)
Здравствуйте, WolfHound, Вы писали:

ВП>>На Драконе задачи прекрасно решаются в терминах предметной области. На работе я организую работу именно таким образом.

WH>Только если предметная область сводится к КА.
WH>А если нет, то все становится печально.

По твоей ссылке предметной областью являлся компилятор с DSL. Разработка такого компилятора — вполне себе автоматная задача.
Re[19]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 25.05.12 22:23
Оценка: -1
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>У меня просьба. Если Вас не очень затруднит, изложите Ваши возражения более подробно и желательно с аргументацией.

Я уже излагал.
Но их проигнорировали.
Datalog, SQL, EBNF,... и много что еще на дракон не ложатся. Совсем.
Что делает дракон применимым только в очень ограниченном классе задач, которые решаются конечными автоматами.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: Язык ДРАКОН — новая идея в программировании
От: Sinclair Россия http://corp.ingrammicro.com/Solutions/Cloud.aspx
Дата: 25.05.12 22:51
Оценка: 39 (2) +4
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, мы исходим из того, что они говорят правду. Конечно, можно наворотить целое психологическое исследование...
Простите, но вы собственно психологическое исследование и провели. Никакого ответа про понятность видов представления

Правильный вариант был бы такой: разделить студентов на N групп и дать им ознакомиться с неким алгоритмом (например, балансировка AVL-дерева). Каждой из N групп дают алгоритм в одном из видов:
— текстовое описание
— псевдокод
— блок-схема
— схема на Драконе

Затем все группы сдают какой-нибудь тупой тест на понимание описанного алгоритма. Строго один и тот же. Ну там — воспроизвести алгоритм для конкретных входных данных, или ответить на вопрос типа "в каких случаях алгоритм делает то-то", или "какова сложность алгоритма в терминах O-нотации относительно размера входных данных".
Так, чтобы можно было убедиться, что студент реально понял алгоритм.

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

А вы ничего не измерили.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
http://rsdn.org/File/5743/rsdnaddict.GIF
Re[9]: Язык ДРАКОН — новая идея в программировании
От: roro  
Дата: 25.05.12 23:38
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, roro, Вы писали:


C>>>Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм — неудобно.

R>>Можно пример, в каком месте вывернет?
C>Предлагается линейный императивный алгоритм переписать в событийно-управляемый. Читать про сопрограммы и прочее.

В случае монопольного использования процесса не вижу проблем.
Если имитировать конкурентное исполнение то да но тут больше вопросов к реализации чем к представлению

R>>Например так создают AI и постановочные сцены в популярных игровых движках.

C>Не так. AI в играх пишется на старом добром С++ или других языках. Графически только расставляются всякие инициаторы и прочее (дык, а как это делать по-другому?).

Можно сделать вполне достойный "умный" уровень, описать его на тригерах и bahvaior tree, все необходимые компоненты доступны из редактора.

В CryEngine допустим добавляем солдата на карту.
У него есть события "вижуВрага", "слышуВрага" вешаем на них тригер "включить серену" и "бежать в координату X,Y,Z".
На событие "сработала сирена" вешаем "spawn 10 десантников в координате X,Y,Z".
Присваиваем десантникам group id и если один из членов групы "вижуВрага" -> оповестить("group id","атаковать врага id").

Собственно таким способом можно сделать не хуже чем на С++.

В менее мощных редакторах MOD-мэйкеры, умудряются имитировать массивы и переменные.
Расставляют невидимые объекты на карте, кодируют адрес обьекта координатами (X,Y), значения типом объекта (танк=1 мотоцикл=2)
Не исключено что какой нибудь умелец таким образом небольшой автомат или граф закодировал.

R>>Вообще, прочитав статью у меня прошла ассоциация с комбинациями в Го и сохранением рисунка игры (захватом территории).

C>И?

В коде этого не видно. Конечно callgraph в проекте бывает откроешь на проблемной функции и "емана*от" ассоциация, но это совсем не то.

C>Это всё умели делать Rational Rose и Together. Оба сдохли заслуженной смертью.

С продуктами Rational вообще печальный опыт работы. Это какие-то рабские галеры а не серебряные пули.

C>>>И чем это противоречит моим словам? Как я напишу реализацию TCP-стека с помощью state-машины?

R>>Тут наверно недопонимание, имел ввиду что простая установка соединения уже требует отслеживания состояния сокета. тоесть работать с сокетом можно только в connected состоянии, при состоянии error нужно переподключится итд..., я в этом вижу стейт машину
C>И дальше что? Возьми реальный код TCP-стека (я даже помогу — вот он: http://lxr.free-electrons.com/source/net/ipv4/tcp.c ) и посмотри на объём кода в нём. State-машина там теряется в объёме реальной работы, которую надо делать при установке соединения.

Меньший процент относительно общего кода не делает state-машину ненужной или менее важной. По мне так это даже хорошо, чем меньше логики тем проще и надежнее.

C>Я понимаю, у наивных авторов, которые не писали ни строчки реального кода, установка TCP соединения, видимо, будет в виде диаграмки в полстранички.


И это хорошо

Тема case программирования и ее роль в обществе меня если честно мало интересует.
Более интересно создание графических DSL-ей и описание алгоритмов визуально.
Re[10]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 26.05.12 00:00
Оценка:
Здравствуйте, roro, Вы писали:

C>>Предлагается линейный императивный алгоритм переписать в событийно-управляемый. Читать про сопрограммы и прочее.

R>В случае монопольного использования процесса не вижу проблем.
R>Если имитировать конкурентное исполнение то да но тут больше вопросов к реализации чем к представлению
Ещё раз, читай про сопрограммы и событийное программирование. И почему сопрограммы намного удобнее. Они имеют очень слабое отношение к конкурентности.

R>>>Например так создают AI и постановочные сцены в популярных игровых движках.

C>>Не так. AI в играх пишется на старом добром С++ или других языках. Графически только расставляются всякие инициаторы и прочее (дык, а как это делать по-другому?).
R>Можно сделать вполне достойный "умный" уровень, описать его на тригерах и bahvaior tree, все необходимые компоненты доступны из редактора.
И?

R>Собственно таким способом можно сделать не хуже чем на С++.

Нельзя.

R>В менее мощных редакторах MOD-мэйкеры, умудряются имитировать массивы и переменные.

R>Расставляют невидимые объекты на карте, кодируют адрес обьекта координатами (X,Y), значения типом объекта (танк=1 мотоцикл=2)
R>Не исключено что какой нибудь умелец таким образом небольшой автомат или граф закодировал.
Тут кое-кто сделал эмулятор процессора 6502 в Майнкрафте.
http://hackaday.com/2012/05/20/building-a-6502-in-minecraft/
И графический калькулятор там же: http://www.youtube.com/watch?v=wgJfVRhotlQ

Что неудивительно — сделать Тьюринг-полную систему элементарно. Вопрос о том, чтобы сделать её УДОБНОЙ для программиста.

R>В коде этого не видно. Конечно callgraph в проекте бывает откроешь на проблемной функции и "емана*от" ассоциация, но это совсем не то.

Прекрасно видно. Я нажимаю Find Usage и вижу кто там меня вызывает — в виде простого списка.

Callgraph реально неудобен, если в нём хотя бы пара уровней вложенности.

C>>Это всё умели делать Rational Rose и Together. Оба сдохли заслуженной смертью.

R>С продуктами Rational вообще печальный опыт работы. Это какие-то рабские галеры а не серебряные пули.
И так со ВСЕМИ графическими средами.

C>>И дальше что? Возьми реальный код TCP-стека (я даже помогу — вот он: http://lxr.free-electrons.com/source/net/ipv4/tcp.c ) и посмотри на объём кода в нём. State-машина там теряется в объёме реальной работы, которую надо делать при установке соединения.

R>Меньший процент относительно общего кода не делает state-машину ненужной или менее важной.
Делает. Так как в РЕАЛЬНОЙ жизни получится или 5 квадратиков с 10 килобайтами кода в каждом, или 1000 квадратиков, образующих Ктулху.

R>По мне так это даже хорошо, чем меньше логики тем проще и надежнее.

Ага. Потому никаких реальных программ на ДРАКОНе и не было написано. И не будет.
Sapienti sat!
Re[13]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 26.05.12 06:29
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>2. Рисование — это и SADT, и UML, и DFD и Дракон и многое еще другое...

Не рисование, а автогенерация этих диаграмм из кода. Если делать автогенерацию диаграмм из кода, то во многих случаях эти диаграммы полезны, ибо действительно в некоторых случаях получается нагляднее. Особенно если это встроено в среду разработки, совмещено с навигацией по коду. Если же сначала рисовать диаграммы, то польза получается только в освоении бюджета и в том, что кто то в результате руководит большим количеством человек, благодаря чему резюме смотрится круче и проще получить повышение. Если же рисовать это все вручную — проклянешь все на свете, не важно в какой среде.
Re[8]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 26.05.12 06:40
Оценка: +1 :)
Здравствуйте, Курилка, Вы писали:


К>>>проектирование в первую очередь затрагивает вопросы декомпозиции задачи на слои/функции/объекты и т.п.? Или в драконе есть аналоги структурных диаграмм UML, например?


ВП>>Да, есть. В драконе есть аналоги структурных диаграмм UML (диаграмм поведения). Если говорить более точно:

Уважаемый Курилка, Вы правы. Слово "структурный" я зачеркнул.

ВП>>Аналогом дракон-схем служат диаграммы поведения (behaviour diagrams) языка UML, в частности, диаграмма деятельности (activity diagram), диаграмма состояний (UML state machine diagram) и некоторые диаграммы взаимодействия (interaction diagrams), например, диаграмма синхронизации (timing diagram).

ВП>>Другим аналогом дракон-схем являются блок-схемы алгоритмов, диаграммы Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др.


К>Всё это выглядит очень странно, если учесть, что диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия (причём в цитате об этом есть упоминание). Да даже и смешивать в одну кучу диаграммы поведения и взаимодействия (как это сделано в вашей цитате) некорректно, ибо это разные диаграммы и акцент в них делается на разные аспекты программы.


К>Интересно всё ж услышать ответ на мой вопрос


1. Слово "структурный" я удалил.

2. Прошу прощения, в Ваш текст вкралась опечатка. Вы пишите: "диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия". В действительности все наоборот: диаграммы взаимодействия являются одним из вариантов диаграмм поведения.

3. В драконе есть средства для работы в реальном времени, поэтому упомянута диаграмма синхронизации (timing diagram).
С уважением В. Паронджанов
Re[15]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 26.05.12 06:44
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>И вывод был однозначный: девушки все поголовно воспринимают картинки, то есть схемы.

И какой из этого следует вывод, учитывая, что в разработке 99% мужчин? Типа заставим мужчин помучиться, чтоб одному проценту жилось получше? Как по мне, эта только что приведенная статистика — хороший аргумент за то, чтобы ни при каких обстоятельствах не заниматься визуализацией алгоритмов, ибо визуализация наоборот будет затруднять понимание для тех, кто реально будет этим заниматься. Или кто думает, что переход на блок схемы привлечет в отрасль женский пол? Спешу огорчить — не привлечет, для привлечения нужно не на блок схемы переходить, а подход к воспитанию мадемуазелей менять.
Re[10]: Язык ДРАКОН — новая идея в программировании
От: rusted Беларусь  
Дата: 26.05.12 06:52
Оценка: +1
Здравствуйте, roro, Вы писали:

R>В CryEngine допустим добавляем солдата на карту.

R>У него есть события "вижуВрага", "слышуВрага" вешаем на них тригер "включить серену" и "бежать в координату X,Y,Z".
R>На событие "сработала сирена" вешаем "spawn 10 десантников в координате X,Y,Z".
R>Присваиваем десантникам group id и если один из членов групы "вижуВрага" -> оповестить("group id","атаковать врага id").

Вот тут вы небольшой кусочек AI записли в виде текста, а почему же вы не нарисовали его в виде графической диаграммы? Ведь если верить продвигателям визуального программирования это проще, быстрее и эргономичнее.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: hattab  
Дата: 26.05.12 07:11
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C> До ДРАКОНа были Together, Rational Rose и прочие гадости. Кто-то их помнит?


Я розу помню, у меня сертификат. Такой ужас трудно забыть
avalon 1.0rc3 build 428, zlib 1.2.3
Re[9]: Язык ДРАКОН — новая идея в программировании
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.05.12 08:03
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Здравствуйте, Курилка, Вы писали:


К>>Всё это выглядит очень странно, если учесть, что диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия (причём в цитате об этом есть упоминание). Да даже и смешивать в одну кучу диаграммы поведения и взаимодействия (как это сделано в вашей цитате) некорректно, ибо это разные диаграммы и акцент в них делается на разные аспекты программы.


К>>Интересно всё ж услышать ответ на мой вопрос


ВП>1. Слово "структурный" я удалил.


Если вы это сделали в уме (т.к. на форуме
Автор: Владимир Паронджанов
Дата: 25.05.12
никакого удаления НЕТ) и пытаетесь при этом вести диалог, то я пас

ВП>2. Прошу прощения, в Ваш текст вкралась опечатка. Вы пишите: "диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия". В действительности все наоборот: диаграммы взаимодействия являются одним из вариантов диаграмм поведения.


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

ВП>3. В драконе есть средства для работы в реальном времени, поэтому упомянута диаграмма синхронизации (timing diagram).


Вопрос был про структурные диаграммы.
Конструктивных ответов на конкретно заданные вопросы от вас нет, а демагогия мне не интересна, лично для себя мнение о драконе и его апологетах я составил, поэтому дискуссию прекращаю.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 26.05.12 09:10
Оценка: 14 (1)
ЧЕТЫРЕ ВИДЕОУРОКА НА YOUTUBE
по 15 минут каждый

Программирование на языке Дракон для микроконтроллеров

Автор ИС Дракон Геннадий Тышов
Автор уроков Сергей Ефанов

К каждому уроку прилагается курс молодого бойца

Урок 1

Программа управления дверным замком.
Разработка алгоритма и программы. Простейший случай.
http://www.youtube.com/watch?v=Ua9dUUONjdk&amp;feature=related


Урок 2

Программа управления дверным замком.
Функции нижнего уровня. Проект. Компиляция. Прошивка процессора.
http://www.youtube.com/watch?v=zeIq_JQhYSI&amp;feature=related


Урок 3

Программа управления дверным замком.
Редактирование алгоритма
http://www.youtube.com/watch?v=Sp6AMGzTM78&amp;feature=related


Урок 4

Программа управления дверным замком.
Настройка таймеров. Производственный алгоритм
http://www.youtube.com/watch?v=1PWDuPeJ_bk&amp;feature=related
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 26.05.12 09:27
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

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

C>Тогда схема превратится в жуткую неудобную вещь. Так как выворачивать наизнанку алгоритм — неудобно.

Текстовое представление именно в этом сценарии — вообще нечитаемая абракадабра, если много ветвлений. Что в тексте плохо — необходимо помещать в памяти целиком огромные куски функциональности, чтобы понимать текст программы. Поэтому изучение чужой программы — это всегда движение по кругу, на каждом обороте проясняешь для себя что-то новое и лучше понимаешь логику, которую хотели передать в исходном тексте или ошибки в этой логике. На разбор чужого кода в тексте запросто могут уйти часы, а в графике — всегда считанные минуты.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 26.05.12 09:32
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Вот я сейчас подсчитал, в одном небольшом проекте, над которым я работаю сейчас 254845 строчек кода. Ну а теперь представьте себе схему с таким количеством иконок. Как думаете их среда разработки выдержит размер поля в 50400х35280 пикселей? (примерно столько понадобится для отрисовки такого количества иконок)


А что мешает организовать иерархию?

Сколько относительно независимых модулей, столько и будет диаграмм. Для программы указанного тобой твоего размера — это порядка несколько десятков/сотни относительно самостоятельных модулей. В больших программах счет идет на тысячи (с учетом всех внутренних библиотек).
Re[4]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 26.05.12 09:35
Оценка:
Здравствуйте, Cyberax, Вы писали:


V>>Это реальный язык, на котором программируют люди, далекие от профессионального программирования. На нем Буран сделали и он полетел. А современные "профессиональные программисты" наверняка бы уронили, к бабке не ходи.

C>Бурановский программист в теме уже отметился и сказал, что они ничерта про ДРАКОН не знают.

Он сказал что он бурановский программист, он на обслуживающей инфраструктуре был — пульты делал.
Re: Язык ДРАКОН — новая идея в программировании
От: sdf http://c4.gostats.com/bin/count/a_374318/t_5/i_1/counter.png
Дата: 26.05.12 09:44
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Можно ли устранить этот недостаток? Можно ли облегчить жизнь алгоритмистов и программистов? И поднять производительность их труда? Да, можно.


ВП>Изюминка в том, что Дракон — очень легкий язык. Необыкновенно легкий.


здесь ?
http://c4.gostats.com/bin/count/a_374315/t_5/i_1/counter.png
Re[4]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 26.05.12 10:13
Оценка: -1 :)
Здравствуйте, elmal, Вы писали:

E>Предположим, Драконом пользуются для написания реальных программ

E>Несколько вопросов:
E>1) Системы контроля версий. Насколько удобно сделать diff между произвольными ревизиями кода?;

Это вопрос не к языку, а к реализации. Существующие реализации этого пока не умеют.

E>2) Насколько удобно закомментировать какую ветку или часть кода, насколько легко это все вынести в отдельную процедуру?;


Это возможно и удобно.

E>3) Книгу я просмотрел очень мельком, все примеры там бытового характера. А вот в реальности насколько удобно рисовать эти диаграмки?


Сами диаграммки высокого качества. Удобство рисования зависит от реализации (инструментальных средств). Сегодня доступны две реализации: Тышова и Митькина. К ним у пользователей есть претензии. Но они постоянно совершенствуются.

E>Отображают ли эти диаграмки полностью структуру программы с полной детализацией, или же за детализацией нужно нажимать кучу клавиш, переменные скрыты и размазаны, и чтоб реально понять что как работает, придется очень сильно потрудиться?


Посмотрите видео и составьте свое мнение. Язык позволяет, а реализация пока не всегда совершенна.

E>Спрашиваю это все потому, что визуальными средствами написания программ я пользовался на практике и в реальных проектах. И могу сказать, что обплевался. Простейшие рефакторинги делать крайне затруднительно. На диаграмме не все, чтобы увидеть детали, надо нажимать на прямоугольник и смотреть проперти.


Понимаю Вас.

E>А если детализация ого-го, то схема крайне перегружена и ее хрен разберешь.


На Драконе перегрузки нет. Используется продуманная система декомпозиции.

E>Дополнительно, пока какой управляющий блок набьешь, проклянешь все на свете. diff ни хрена ни сделать — если что работало, кто то что то поменял, и работать перестало, хрен докопаешься до причины. Перед использованием всего этого требуется проходить черти какой инструктаж, ибо куча неочевидных моментов.


E>Я видел кучу рекламных роликов о том, что вот, наконец то, появился новый язык, программисты не нужны, специалисты в предметной области сами все напишут. И в 100 процентах случаев заканчивалось тем, что приходится привлекать программистов, несмотря на наглядность читаемого представления, эти программисты страшно матерятся, тратят в 10 раз больше времени, а также программистов требуется в 10 раз больше. Ибо кроме того, что это все крайне неудобно использовать на практике, еще и среда разработки страшно глючит, а также при малейшем отклонении от идеального эталонного сценария приходится делать такие извраты и макароны, что появляется желание уйти в запой с горя. А если в самом начале в какой либо переменной допустил орфографическую ошибку — все, это уже практически не исправить. Средств рефакторинга нет, чтобы выделить процедуру, нужно ее рисовать с нуля. Даже переменную переименовать проблема, приходится реплейсить внутреннее представление этой схемки, никому не говоря, ибо это запрещено. В результате, учитывая то, что рефакторить крайне затруднительно, на практике код очень быстро превращается в черти какие макароны, когда на одной схеме тысячи стрелочек и блоков, налезающих друг на друга.


На Драконе никакие макароны В ПРИНЦИПЕ не возможны.

Я четко сознаю, что не ответил на Ваши вопросы. На такие вопросы нельзя ответить словами.
Надо предъявлять рабочий инструмент. Так что могу сказать одно — посмотрите видео.

В заключение скажу твердо: если Вам надо составить СЛОЖНЫЙ алгоритм (100 000 строк или больше) и Ваше главное требование: АЛГОРИТМ ДОЛЖЕН БЫТЬ ПОНЯТНЫМ ДЛЯ ЧЕЛОВЕКА), то Дракон не имеет конкурентов. То, что на этом форуме сгоряча говорят молодые люди, не соответствует действительности.
С уважением В. Паронджанов
Re[5]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 26.05.12 11:00
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>>>Это реальный язык, на котором программируют люди, далекие от профессионального программирования. На нем Буран сделали и он полетел. А современные "профессиональные программисты" наверняка бы уронили, к бабке не ходи.

C>>Бурановский программист в теме уже отметился и сказал, что они ничерта про ДРАКОН не знают.
V>Он сказал что он бурановский программист, он на обслуживающей инфраструктуре был — пульты делал.
Я не верю, что на ДРАКОНе было что-то вообще работающее написано (в документации мог использоваться). Скорее всего, его автор просто врёт.

Никаких независимых подтверждений его слов нет. Так же как и вообще известного софта или работающих реализаций самого языка.
Sapienti sat!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 26.05.12 11:07
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>В заключение скажу твердо: если Вам надо составить СЛОЖНЫЙ алгоритм (100 000 строк или больше) и Ваше главное требование: АЛГОРИТМ ДОЛЖЕН БЫТЬ ПОНЯТНЫМ ДЛЯ ЧЕЛОВЕКА), то Дракон не имеет конкурентов. То, что на этом форуме сгоряча говорят молодые люди, не соответствует действительности.

Вы врёте. У вас нет даже реализации ДРАКОНа на ДРАКОНЕ, как и любой другой сколь-либо сложной программы. И не будет.
Sapienti sat!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 26.05.12 11:08
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Программирование на языке Дракон для микроконтроллеров

Что следующее?

"Программирование светофора"?
Sapienti sat!
Re[5]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 26.05.12 11:39
Оценка: 1 (1) +1
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Посмотрите видео и составьте свое мнение. Язык позволяет, а реализация пока не всегда совершенна.

Посмотрел. Как я и ожидал — диаграмки являются по существу комментариями, отражающими структуру кода, а не детали. А чтобы посмотреть детали — нужно нажимать на прямоугольничек и откроется область кода. Напомнило все до боли Rational Rose. Соответственно — на диаграмке может все казаться правильно, а в реализации можно элементарно ошибиться. А чтоб реально быть уверенным, что все правильно, нужно долго и очень внимательно смотреть именно что результирующий код. Который несколько далек от идеала благодаря автогенерации.

ВП>На Драконе перегрузки нет. Используется продуманная система декомпозиции.

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

ВП>На Драконе никакие макароны В ПРИНЦИПЕ не возможны.

Макароны возможны всегда! Это не зависит от языка, от методологии! Или просто сложность одной процедуры ограничена определенными размерами? Все равно не спасет, ибо можно что угодно запутать глобальными переменными, связями все со всем.

ВП>Надо предъявлять рабочий инструмент. Так что могу сказать одно — посмотрите видео.

Видео посмотрел. До боли напомнило все Rational Rose. Точнее даже не ее, а какое то другое CASE средство 1998 года.

ВП>В заключение скажу твердо: если Вам надо составить СЛОЖНЫЙ алгоритм (100 000 строк или больше) и Ваше главное требование: АЛГОРИТМ ДОЛЖЕН БЫТЬ ПОНЯТНЫМ ДЛЯ ЧЕЛОВЕКА), то Дракон не имеет конкурентов. То, что на этом форуме сгоряча говорят молодые люди, не соответствует действительности.

Во первых, сложный алгоритм из 100 000 строк составлять не нужно никогда! Ибо это явно для гениев с IQ под 1000. Люди же со скромным IQ 200 делают декомпозицию и составляют набор простых слабо связанных алгоритмов. По поводу понятности. Хорошо — пусть будут Дракон схемы для визуализации алгоритмов! Непонятно, чем он лучше других подобных языков, вроде UML, но ладно — предположим что по наглядности визуализации Дракон лучший. Так вот, чтоб этой понятностью реально пользоваться, нужно наоборот все делать! Нужно сначала реализовывать алгоритм на любом языке, помечать его соответствующими комментариями, и на основании комментариев и исходного текста путем реверс инжинеринга визуализировать Дракон схемы, добиваясь того, чтобы было все читабельно. Делать такую поддержку для всех языков и всех известных сред разработки через плагины. В этом случае какие то перспективы есть.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: Wolverrum Украина  
Дата: 26.05.12 11:40
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Вот я сейчас подсчитал, в одном небольшом проекте, над которым я работаю сейчас 254845 строчек кода. Ну а теперь представьте себе схему с таким количеством иконок. Как думаете их среда разработки выдержит размер поля в 50400х35280 пикселей? (примерно столько понадобится для отрисовки такого количества иконок)


Я, хоть и не вникал в Дракон вовсе, но почему0то уверен, что там среду делали не идиоты, и предусмотрели иерархию детализации а-ля IDEF.
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 26.05.12 12:38
Оценка: 23 (2)
Здравствуйте, elmal, Вы писали:

E>нужно наоборот все делать! Нужно сначала реализовывать алгоритм на любом языке, помечать его соответствующими комментариями, и на основании комментариев и исходного текста путем реверс инжинеринга визуализировать Дракон схемы, добиваясь того, чтобы было все читабельно. Делать такую поддержку для всех языков и всех известных сред разработки через плагины. В этом случае какие то перспективы есть .


Не могу с Вами согласиться. По моему мнению, оптимальным является путь: сначала графика — потом преобразование в код.
Я опираюсь на свой производственный опыт.

Язык ДРАКОН используется в НПЦАП в виде Технологии разработки алгоритмов и программ "Графит-Флокс". Технология используется во многих крупных ракетно-космических проектах с 1996 года:
http://drakon.su/_media/biblioteka/grafit_a4.pdf

Слева — работают инженеры. Справа — программисты.
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 26.05.12 13:39
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Не могу с Вами согласиться. По моему мнению, оптимальным является путь: сначала графика — потом преобразование в код.

ВП>Я опираюсь на свой производственный опыт.
Если это опыт в виде космических проектов — возможно именно для таких проектов это и оптимально. Но космическая отрасль весьма и весьма специфична. Например там требования не меняются, сначала идет составление документации, и очень подробное, затем реализация (не работал в этой отрасли, но по крайней мере про подобное слышал неоднократно, причем эта отрасль даже у буржуев весьма и весьма специфична). Соответственно такие вещи, как рефакторинг, не очень актуальны. Но в 99% случаев программирование предполагает совершенно другую методологию разработки, когда требования постоянно меняются прямо во время реализации, когда время выхода на рынок крайне критично, когда документация и техзадание весьма скудная, часто к моменту начала разработки вообще никто не знает что реально нужно сделать, и к требуемому результату приходят методом проб и ошибок. И постоянное изменение требований — это неизбежность, от этого невозможно отказаться! Если откажешься, то пока сделаешь — продукт будет уже не нужен со старыми требованиями. И вот для таких проектов подход, когда сначала графика, а потом преобразование в код, является полностью не применимым. Вернее даже так — многие пытаются такое применять. Но итог у всех один — многократное затягивание времени разработки и раздутие штатов в результате такого подхода.
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 26.05.12 14:31
Оценка: +1
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Не могу с Вами согласиться. По моему мнению, оптимальным является путь: сначала графика — потом преобразование в код.

ВП>Я опираюсь на свой производственный опыт.
Позвольте охарактеризовать его как отставший минимум на 30 лет от современного состояния индустрии.

ВП>Язык ДРАКОН используется в НПЦАП в виде Технологии разработки алгоритмов и программ "Графит-Флокс". Технология используется во многих крупных ракетно-космических проектах с 1996 года:

ВП>http://drakon.su/_media/biblioteka/grafit_a4.pdf
ВП>Слева — работают инженеры. Справа — программисты.
"Передача дискеты в отдел программистов". Мда. Я бы постеснялся такие слайды показывать вообще (кроме как при обсуждении истории).
Sapienti sat!
Re[11]: Язык ДРАКОН — новая идея в программировании
От: roro  
Дата: 26.05.12 19:11
Оценка:
Здравствуйте, rusted, Вы писали:

R>Здравствуйте, roro, Вы писали:


R>>В CryEngine допустим добавляем солдата на карту.

R>>У него есть события "вижуВрага", "слышуВрага" вешаем на них тригер "включить серену" и "бежать в координату X,Y,Z".
R>>На событие "сработала сирена" вешаем "spawn 10 десантников в координате X,Y,Z".
R>>Присваиваем десантникам group id и если один из членов групы "вижуВрага" -> оповестить("group id","атаковать врага id").

R>Вот тут вы небольшой кусочек AI записли в виде текста, а почему же вы не нарисовали его в виде графической диаграммы? Ведь если верить продвигателям визуального программирования это проще, быстрее и эргономичнее.


Я привел примерный порядок действий которые нужно выполнить.
Создавать такие скрипты в редакторе не райское удовольствие, но для пользователя который не знаком с lua/angelscipt и sdk, других вариантов нету.

CryEngine позорно падает когда редактирую AIPath, привожу пример на UE3

http://files.rsdn.org/100852/1.jpg
Re: Язык ДРАКОН — новая идея в программировании
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 27.05.12 06:23
Оценка: +6
Здравствуйте, Владимир Паронджанов, Вы писали:

Помимо неоднократно уже озвученной критики графического представления алгоритмов по сравнению с текстовой, хочется вставить и свои 5 копеек.

1) Данный подход затрагивает только подход к алгоритмам. Т.е. самому "низкому" уровню в написании программы. Вопросы декомпозиции, управления сложностью и пр. оставлено за кадром.

2) Предложенный подход, по сути, является еще одной записью императивного подхода. Оно с той или иной степенью "хорошести" ложится на алгоритмические проблемы, однако никак не подходит к функциональному-, компонентному-, мета-программированию, и пр., т.е. всему тому что составляет разработку современного ПО "в большом".

Но все это можно было бы пережить. и применять для разработки конкретных алгоритмов, если бы не

3) Обучаемость и преемственность. Все хорошие специалисты учились писать и читать код и алгоритмы текстом. Все признанные "классики" (Кнут, Ахо-Ульман, и др) пишут свои примеры на псевдокоде, и не графическими средствами. Подрастающее поколение, которые через 5-10 лет вырастут в "ведущие", сейчас пишут и читают код традиционными средствами. И, значит, традиционный подход будет привычен как минимум 2 будущим поколениям разработчиков.

Ну и на-последок

4) Традиционный подход доказал свою состоятельность. Написаны миллионы программ и алгоритмов, подчас сложнейших. Может ли "ДРАКОН" похвастать сложными программами, разработанными с применением его парадигмы? Как буду выглядеть на нем классические алгоритмы, в тексте записываемые в 10-15 строчек? (Сортировки, LZ, балансировки деревьев)?
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 27.05.12 08:28
Оценка: :))
Уважаемый Евгений Пасынков!

X>1) Данный подход затрагивает только подход к алгоритмам. Т.е. самому "низкому" уровню в написании программы. Вопросы декомпозиции ... оставлены за кадром.


Это не так. Вопросы декомпозиции проработаны очень подробно и тщательно.

Даю выдержку из книги 2012 года. Книга доступна. В ней 520 страниц. Все изложено подробнейшим образом.


§8. ВЫВОДЫ

1. Головной алгоритм – это алгоритм самого верхнего уровня на лест-
нице декомпозиции.

2. Головной алгоритм может содержать вставки (вызываемые проце-
дуры). Но сам он не может быть вставкой для алгоритма более вы-
сокого уровня.

3. Головной алгоритм – это всегда силуэт. Он не может быть прими-
тивом или системой примитивов.

4. Для создания головного алгоритма используют:

• метод эргономичной декомпозиции;
• метод многостраничного силуэта.

5. Головной алгоритм может быть:

• одностраничным силуэтом;
• многостраничным силуэтом.

6. Одностраничный силуэт размещается на одном листе бумаги (на
одном экране).

7. Многостраничный силуэт размещают на нескольких листах бума-
ги. При работе с экраном силуэт прокручивают по горизонтали.

8. Многостраничный силуэт образует целостную зрительную сцену.
Сквозь все листы многостраничного силуэта проходят две горизон-
тальные шины, которые скрепляют листы между собой с помощью
пронумерованных соединителей.

9. Силуэт – главное достоинство языка ДРАКОН. Он обладает мощ-
ными выразительными средствами.

10. Сложные алгоритмы следует изображать как силуэты, в которых
многократно используются иконы «вставка». Последние, в свою
очередь, раскрываются как силуэты и т. д. Таким образом, сложный
алгоритм надо изображать как последовательную декомпозицию
силуэтов.

11. На практике силуэт используют в подавляющем большинстве слу-
чаев.

12. Примитив применяют редко, скорее как исключение.

13. Тем не менее, отказываться от примитива не следует, так как он ну-
жен для описания малых алгоритмов.

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

С уважением В. Паронджанов
Re[8]: Язык ДРАКОН — новая идея в программировании
От: Ops Россия  
Дата: 27.05.12 11:22
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>На разбор чужого кода в тексте запросто могут уйти часы, а в графике — всегда считанные минуты.


Да, да, конечно.
http://s017.radikal.ru/i409/1202/18/b9779d0db9ac.gif
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[9]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 27.05.12 13:18
Оценка: :))
Здравствуйте, Ops, Вы писали:

Давайте подумаем вместе. Что именно доказывает Ваша графика?

1. Графика бывает хорошая и плохая.

2. Вы привели привер ПЛОХОЙ графики.

3. Дракон-схема — это ХОРОШАЯ графика.

4. Так что Ваш пример "не стреляет".
С уважением В. Паронджанов
Re: Язык ДРАКОН — новая идея в программировании
От: Vain Россия google.ru
Дата: 27.05.12 13:32
Оценка: 1 (1) +1 -1 :))) :))
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Язык Дракон значительно облегчает алгоритмизацию и программирование

Больше подходит название: Язык Динозавр. Как раз для тех кто из старой советской школы, не смог переучиться вовремя и перейти от блок-схем и чертежей, на языки программирования.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Went: Да где угодно могут. Я не согласен с посылом, что "раз поехал в НРы, значит подверг себя какой-то особой опасности".
Re[6]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 27.05.12 13:47
Оценка: :))) :)
Здравствуйте, elmal, Вы писали:

ВП>>В заключение скажу твердо: если Вам надо составить СЛОЖНЫЙ алгоритм (100 000 строк или больше) и Ваше главное требование: АЛГОРИТМ ДОЛЖЕН БЫТЬ ПОНЯТНЫМ ДЛЯ ЧЕЛОВЕКА, то Дракон не имеет конкурентов. То, что на этом форуме сгоряча говорят молодые люди, не соответствует действительности.


E>Во первых, сложный алгоритм из 100 000 строк составлять не нужно никогда! Ибо это явно для гениев с IQ под 1000.


Так было вчера, когда еще не было Дракона. Дракон коренным образом меняет ситуацию. Дракон без труда превращает НЕПОНЯТНОЕ в ПОНЯТНОЕ.
Ваш тезис говорит о том, что до появления Дракона Человечество не имело средств для изображения ПОНЯТНЫХ сложных алгоритмов.

E>Люди же со скромным IQ 200 делают декомпозицию и составляют набор простых слабо связанных алгоритмов.


Дракон помогает Вам в этом. И заодно снижает требования к IQ с 200 до 120 или даже до 100.
С уважением В. Паронджанов
Re[9]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 13:58
Оценка:
Здравствуйте, Ops, Вы писали:

Тут приводили пример составления программы для контроллера замка. Была показана схема контроллера замка. Схема элементарная в графическом виде, вопринимается в среднем за 1-5 мин. Не покажешь пример записи этой схемы в текстовом виде? В общем, это будет нечитаемый нет-лист на полторы сотни строк, который просто описывает компоненты и связи. Прямо как в типичной бизнес-логике программы. Т.е. обычный, плоховоспринимаемый текстовый мусор. Разбираться в таком — от часа. Искать ошибки — от дня.
Re[6]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 14:10
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Бурановский программист в теме уже отметился и сказал, что они ничерта про ДРАКОН не знают.

V>>Он сказал что он бурановский программист, он на обслуживающей инфраструктуре был — пульты делал.
C>Я не верю, что на ДРАКОНе было что-то вообще работающее написано (в документации мог использоваться). Скорее всего, его автор просто врёт.

С чего ты взял?

C>Никаких независимых подтверждений его слов нет.


Пол-но и уже относительно давно.

C>Так же как и вообще известного софта или работающих реализаций самого языка.


Что такое "работающая реализация"?
Re[8]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 14:12
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Всё это выглядит очень странно, если учесть, что диаграммы поведения НЕ являются структурными диаграммами, а являются одним из вариантов диаграмм взаимодействия (причём в цитате об этом есть упоминание). Да даже и смешивать в одну кучу диаграммы поведения и взаимодействия (как это сделано в вашей цитате) некорректно, ибо это разные диаграммы и акцент в них делается на разные аспекты программы.


Будет ошибкой сравнивать неполноценный UML, с полноценным языком. Тут высказался
Автор: vdimas
Дата: 26.05.12
.


К>Если есть проблемы с тем, что есть структурные диаграммы, можно посмотреть хотяб вики.


Детсад как он есть.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 14:45
Оценка: :)
Здравствуйте, xvost, Вы писали:

X>1) Данный подход затрагивает только подход к алгоритмам. Т.е. самому "низкому" уровню в написании программы. Вопросы декомпозиции, управления сложностью и пр. оставлено за кадром.


Ровно наоборот. Любой набор схем — это в первую очередь декомпозиция, иерархия и описание связей м/у уровнями.


X>2) Предложенный подход, по сути, является еще одной записью императивного подхода. Оно с той или иной степенью "хорошести" ложится на алгоритмические проблемы, однако никак не подходит к функциональному-, компонентному-,


Замечательно подходит. Курить dataflow.

X>мета-программированию,


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

X>и пр., т.е. всему тому что составляет разработку современного ПО "в большом".


Современый мейнстрим — это императив и ничего кроме имератива. Остальное существует постольку-постольку.


X>Но все это можно было бы пережить. и применять для разработки конкретных алгоритмов, если бы не


X>3) Обучаемость и преемственность. Все хорошие специалисты учились писать и читать код и алгоритмы текстом.


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

Схемы подразделяют на семь типов: структурные, функциональные, принципиальные, соединений (монтажные), подключений (схемы внешних соединений), общие и расположения

и ты это как-то сдавал... Экзамен же не покупал, надеюсь?


X>Все признанные "классики" (Кнут, Ахо-Ульман, и др) пишут свои примеры на псевдокоде, и не графическими средствами.


У Кнута и Фаулера непрофильное образование.
У Кнута понятно почему, непонятно почему у Фаулера...


X>Подрастающее поколение, которые через 5-10 лет вырастут в "ведущие", сейчас пишут и читают код традиционными средствами.


Подрастающее поколение выходит из ВУЗов все менее и менее образованным, т.е. разговор ни о чем.


X>И, значит, традиционный подход будет привычен как минимум 2 будущим поколениям разработчиков.


Ерунда. Современный программист не видит своей работы без элементов графического представления, таких как:
— иерархия проекта (пакетов/неймспейсов)
— иерархия классов
— статистика вызовов и использований
— диаграммы вызовов (графы) профайлеров
— графы веток систем контроля версий
— и т.д. до бесконечности.

Никакое текстовое представление графа не заменит графическое. А деревья — это лишь разновидность графов.


X>4) Традиционный подход доказал свою состоятельность.


Традиционный подход — это графика и текст совместно в любой документации:
http://cdn.thetechjournal.com/wp-content/uploads/2012/02/metro-style.jpg

Не понимаю, почему у некоторых чешется обязательно противопоставлять одно другому. Графические среды — это лишь попытка заполнить пропасть м/у документацией и целевым продуктом. Нормальное, ИМХО, желание.
Re[7]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 27.05.12 14:45
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Потому что UML — это НЕ язык программирования. Это язык абстракций. На нем не напишешь полноценную программу. А на Драконе — напишешь.

Как это не напишешь? Ты Rational Rose видел? Тоже самое, рисуем диаграмки, внутри квадратиков набираем код (тоже скрытый), нажимаем generate — и вуаля, если все правильно то, что нагенерил, даже скомпилится. У меня в студенческие годы получалось. Дракон — крайне похожая концепция, только диаграмки другие. А если брать LabView — там даже генерить ничего не надо, там с помощью квадратиков можно написать полноценную программу. И там тоже есть средства декомпозиции, если что. Еще есть Scratch и BYOB.
Вот на нишу Scratch в принципе замахнуться можно попробовать, то есть применять язык в обучении студентов. Возможно даже выйдет что толковое из этого, ибо Дракон, насколько я видел, поощряет так называемое wishful thinking — если этому наконец будут учить студентов с первых курсов, наконец студенты будут учиться программированию в институте, а не на работе (а многие и на работе так и не осиливают все это). Только надо так среду дорабатывать, чтобы его можно было использовать в качестве первого языка, чтоб что то осмысленное вроде hello world или пляски каких либо спрайтов под музыку можно было написать интуитивно, не читая документацию и не просматривая видео.
Да, кстати — очень бы хотелось увидеть пример реализации быстрой сортировки на Драконе. Крайне хочется оценить понятность.
Re[3]: Язык ДРАКОН — новая идея в программировании
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 27.05.12 15:22
Оценка: +2
Здравствуйте, Владимир Паронджанов, Вы писали:

X>>1) Данный подход затрагивает только подход к алгоритмам. Т.е. самому "низкому" уровню в написании программы. Вопросы декомпозиции ... оставлены за кадром.


ВП>Это не так. Вопросы декомпозиции проработаны очень подробно и тщательно.


Структурная декомпозиция — вещь, известная примерно 50 лет. Это был прорыв в разработке ПО тех лет.

Однако индустрия не стоит на месте. И экспериментально давно доказано, что структурная декомпозиция работает хорошо ТОЛЬКО на микро-уровне, т.е. в пределах одного алгоритма или связки 2-3 алгоритмов.

А дальше — ООП, аспекты, компоненты, мета-... и прочее.

ВП>Даю выдержку из книги 2012 года. Книга доступна. В ней 520 страниц. Все изложено подробнейшим образом.


Ничего нового
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[3]: Язык ДРАКОН — новая идея в программировании
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 27.05.12 15:33
Оценка: +1
Здравствуйте, vdimas, Вы писали:

X>>2) Предложенный подход, по сути, является еще одной записью императивного подхода. Оно с той или иной степенью "хорошести" ложится на алгоритмические проблемы, однако никак не подходит к функциональному-, компонентному-,

V>Замечательно подходит. Курить dataflow.

И что — кто-то в графическом виде оперирует с dataflow больше чем 20-30 узлов? Не верю.

V>Дракон — это мета-программирование само по себе. Другое мета-программирование будет другим, иногда принципиально другим. В том-то и дело, что метапрограммирование — это всегда некий трюк по выходу на новую степень абстракций. Графика — это лишь один из таких трюков, работающий из-за "врожденной" иерархичности элементов.


Слова знакомые, а мысль от меня ускользает....

Я, по свей наивности, всегда считал мета-программированием то, что выполняется на этапе компиляции.

X>>и пр., т.е. всему тому что составляет разработку современного ПО "в большом".

V>Современый мейнстрим — это императив и ничего кроме имератива. Остальное существует постольку-постольку.

Да ну. JavaBeans — классический компонентный подход.
Stateless servlets — классическая функциональщина, хоть и записываемая в императивном стиле


V>Схемы подразделяют на семь типов: структурные, функциональные, принципиальные, соединений (монтажные), подключений (схемы внешних соединений), общие и расположения

V>и ты это как-то сдавал... Экзамен же не покупал, надеюсь?

Я этого не учил Непрофильное образование 0101 — Мат.Анализ.

X>>Подрастающее поколение, которые через 5-10 лет вырастут в "ведущие", сейчас пишут и читают код традиционными средствами.

V>Подрастающее поколение выходит из ВУЗов все менее и менее образованным, т.е. разговор ни о чем.

Я говорил не про ВУЗы. Я говорил про обучение в сильных командах.

X>>И, значит, традиционный подход будет привычен как минимум 2 будущим поколениям разработчиков.

V>Ерунда. Современный программист не видит своей работы без элементов графического представления, таких как:
V>- иерархия проекта (пакетов/неймспейсов)
V>- иерархия классов
V>- статистика вызовов и использований
V>- диаграммы вызовов (графы) профайлеров
V>- графы веток систем контроля версий
V>- и т.д. до бесконечности.

МОЛОДЕЦ!
Все твои примеры — это СЛЕДСТВИЕ кода (т.е. взгляд на код под разными углами), но ни как не его ПРИЧИНА.

Я очень даже поддерживаю различные диаграммы и графики. Но, посмотрев на них и сделав выводы, возвращаюсь к ТЕКСТУ для изменения.

X>>4) Традиционный подход доказал свою состоятельность.

V>Традиционный подход — это графика и текст совместно в любой документации:
V>Не понимаю, почему у некоторых чешется обязательно противопоставлять одно другому. Графические среды — это лишь попытка заполнить пропасть м/у документацией и целевым продуктом. Нормальное, ИМХО, желание.

До тех пор пока графы и диаграммы помогают понять код — "you'r welcome"!
Как только пытаются в эти графы запихать ВСЮ программу,и обязать ее модифицировать тоже через графическое представление — fail.
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[8]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 27.05.12 15:45
Оценка: 6 (1)
Здравствуйте, elmal, Вы писали:

E> ... применять язык в обучении студентов. Возможно даже выйдет что толковое из этого, ибо Дракон, насколько я видел, поощряет так называемое wishful thinking — если этому наконец будут учить студентов с первых курсов ...


Применение языка ДРАКОН в системе высшего образования

В 1996 году Государственный комитет по высшему образованию Российской Федерации включил изучение языка ДРАКОН в программу курса «Информатика» для направлений:

510000 — Естественные науки и математика
540000 — Образование
550000 — Технические науки
560000 — Сельскохозяйственные науки

Даю ссылку на официальный документ
http://drakon.su/_media/biblioteka/progr_drakon.pdf

В официальном документе Госкомвуза «Примерная программа дисциплины „Информатика“» имеется раздел, посвященный языку ДРАКОН и использующий его понятийный аппарат:

Раздел 3. АЛГОРИТМЫ И АЛГОРИТМИЗАЦИЯ. ВИЗУАЛИЗАЦИЯ АЛГОРИТМОВ

Понятие алгоритма и алгоритмической системы. Визуализация алгоритмов и блок-схемы. Недостатки традиционных блок-схем. Формализация и эргономизация блок-схем. Язык визуального представления алгоритмов ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность).

Линейные, разветвленные и цикличные алгоритмы. Вложенные и параллельные алгоритмы. Логические элементы и базовые управляющие структуры визуального структурного программирования. Построение алгоритма из базовых структур. Визуальные операторы управления. Визуальные алгоритмические макроконструкции «примитив» и «силуэт». Пошаговая детализация как метод проектирования алгоритмов.

Понимаемость алгоритмов и методы её улучшения. Понятие эргономичного алгоритма. Равносильные преобразования визуальных алгоритмов, позволяющие улучшить их понимаемость: рокировка, подстановка, вертикальное и горизонтальное объединение, визуализация логических формул в условных операторах.

Две формы представления алгоритмов: визуальная и текстовая. Визуальные и текстовые языки и псевдоязыки. Преобразование алгоритмов из визуальной формы в текстовую и обратно. Преимущества визуальной формы. Анализ визуальных алгоритмов методом застывших условий. Язык абстрактных ДРАКОН-схем как инвариант класса процедурных языков.


В документе Госкомвуза «Примерная программа дисциплины „Информатика“» содержится обоснование концепции и структуры учебного курса информатики и, в частности, дается обоснование использования языка ДРАКОН:

1. Среди требований, предъявляемых к современным алгоритмическим языкам, на первое место все чаще выходит понимаемость (comprehensibility) алгоритмов и программ, которая определяется как «свойство программы минимизировать интеллектуальные усилия, необходимые для её понимания»[16] Это объясняется тем, что «в современных условиях качественная программа должна обладать, помимо надежности и эффективности, ещё и такими важнейшими качествами как понимаемость и сопровождаемость»[70]

Наиболее мощным средством для улучшения понимаемости является визуализация алгоритмов и программ: «общепризнанно, что человеческий мозг в основном ориентирован на визуальное восприятие, и люди получают информацию при рассмотрении графических образов быстрее, чем при чтении текста»[71]…

2. … В связи с этим тема «алгоритмы и алгоритмизация» (см. раздел 3 программы) излагается в рамках визуальной парадигмы, что позволяет получить ряд преимуществ: облегчить изучение темы, улучшить эргономические характеристики алгоритмов и т. д.

3. Синтез идей информатики и эргономики полезен тем, что процесс алгоритмизации (который во многих случаях требует значительных трудозатрат) становится менее трудоемким и более ясным. Для этого вводится понятие «эргономичный алгоритм». Излагаются равносильные преобразования алгоритмов, способные улучшить их эргономические характеристики. При этом алгоритмизация и программирование рассматриваются как частный случай более общей проблемы — систематизации, структуризации, представления и формализации человеческих знаний[72]

4. Сближение понятий «алгоритм» и «процедурное знание» дает возможность расширить понятие алгоритма и распространить его на любые технологии (промышленные, сельскохозяйственные, медицинские, образовательные и т. д.[73] Это позволяет в эргономически разумных пределах формализовать описание технологий с помощью визуального алгоритмического языка. В результате описание техпроцессов становится более наглядным и четким, освобождается от пробелов и двусмысленностей. Такой подход обещает заметный выигрыш. Во-первых, благодаря наглядности сокращаются сроки и трудоемкость изучения современных технологий, что особенно важно в рамках концепции непрерывного образования. Во-вторых, формализация и полнота описания техпроцесса может содействовать укреплению технологической дисциплины на производстве и в других областях.

5. Для решения столь масштабных задач нужен универсальный язык представления процедурных знаний в любой предметной области. Это должен быть язык нового типа: общедоступный, человечный, предельно легкий в изучении и удобный в работе, создающий наиболее комфортные условия для человеческого мозга, позволяющий решать проблемы ценою минимальных интеллектуальных усилий, удовлетворяющий самым строгим эргономическим и дидактическим требованиям. Анализ показывает, что в наибольшей степени этим требованиям соответствует процедурный язык визуального представления знаний и визуального программирования ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность), являющийся обобщением опыта, накопленного при создании космического корабля «Буран»[74][75] ДРАКОН задуман как «один из самых легких языков представления знаний и самый первый язык, с которого нужно начинать обучение алгоритмическому мышлению и программированию»[76]

6. При коллективной интеллектуальной работе важную роль играет интеллектуальное взаимопонимание и интеллектуальное взаимодействие между специалистами. Для улучшения взаимопонимания необходимо иметь общую языковую основу. Благодаря своей человечности (эргономичности) язык ДРАКОН относительно легко устраняет барьеры взаимного непонимания (в части процедурных знаний) между работниками различных специальностей: врачами и физиками, математиками и конструкторами, биологами и экономистами, программистами и технологами и т. д. Тем самым ДРАКОН создает универсальную языковую основу для процедурного интеллектуального взаимодействия между людьми, в частности, между участниками многопрофильных проектов. В результате этот «язык взаимопонимания» заметно упрощает междисциплинарное и иное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий, отчасти играя роль «производственного эсперанто».

7. Бакалавр любой специальности должен уметь формализовать свои процедурные профессиональные знания самостоятельно, то есть без помощи профессиональных программистов или когнитологов (инженеров по знаниям). Программа предусматривает приобретение навыков автоформализации знаний на языке ДРАКОН.[77]


О дальнейшем развитии событий расскажу в отдельном сообщении.
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 27.05.12 18:36
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>Он сказал что он бурановский программист, он на обслуживающей инфраструктуре был — пульты делал.

C>>Я не верю, что на ДРАКОНе было что-то вообще работающее написано (в документации мог использоваться). Скорее всего, его автор просто врёт.
V>С чего ты взял?
По его же слайдам. Тут уже выясняется, что ДРАКОН использовался не для создания кода, а спецификации, которая "на дискете" потом передавалась
реальным программистам.

C>>Никаких независимых подтверждений его слов нет.

V>Пол-но и уже относительно давно.
Неа. Я специально поискал. Они все либо ссылаются на ДРАКОНистов или не имеют никаких вторичных подтверждений.

Что как бэ намекает.

C>>Так же как и вообще известного софта или работающих реализаций самого языка.

V>Что такое "работающая реализация"?
Т.е. что-то, что не является картинкой на сайте.
Sapienti sat!
Re[10]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 27.05.12 18:43
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>2. Вы привели привер ПЛОХОЙ графики.

ВП>3. Дракон-схема — это ХОРОШАЯ графика.
В 101 раз просим привести пример реального кода на ДРАКОНе.

Хотя бы в виде аналога десяти тысяч строк обычного кода. Это несколько месяцев работы обычного программиста на типичном коде.

А так вижу, что этот ДРАКОН используется очередными псевдоакадемическими бездарями чтобы мучать студентов.
Sapienti sat!
Re[3]: Язык ДРАКОН — новая идея в программировании
От: _DAle_ Беларусь  
Дата: 27.05.12 21:58
Оценка: +1 :)
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, WolfHound, Вы писали:


WH>>Дракон-схема задает конечный автомат.

WH>>Если задача не сводится к конечному автомату, то дракон работать перестает.

V>При наличии рекурсий — в магазинный, т.е. превращается в машину Тьюринга.


А с каких пор pushdown automaton эквивалентен машине Тьюринга?
Re[4]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 22:58
Оценка: -1 :)
Здравствуйте, xvost, Вы писали:

X>И что — кто-то в графическом виде оперирует с dataflow больше чем 20-30 узлов? Не верю.


Дык, и в исходнике метода по-хорошему должно быть не более десятка-другого строк. Я же уже делал упор на декомпозицию и иерархию: то, что на одной схеме представлено "атомарным" блоком, на другой будет алгоритмом следующего уровня подробностей. Это полный аналог с иерархическими вызовами ф-ий/методов.


V>>Дракон — это мета-программирование само по себе. Другое мета-программирование будет другим, иногда принципиально другим. В том-то и дело, что метапрограммирование — это всегда некий трюк по выходу на новую степень абстракций. Графика — это лишь один из таких трюков, работающий из-за "врожденной" иерархичности элементов.


X>Слова знакомые, а мысль от меня ускользает....

X>Я, по свей наивности, всегда считал мета-программированием то, что выполняется на этапе компиляции.

Нет, само мета-программирование выполняется на этапе его программирования программистом.

Метапрограммирование — это процесс расширения семантики имеющегося инструмента, чтобы программировать затем целевую задачу (нас же целевая задача в итоге интересует, правда?) в терминах этой расширенной семантики. Как пример — макросы Лиспа, immediate слова Форта или шаблоны С++ при использовании специализаций (частичных в т.ч.). А в графике — это определение новых графических примитивов, в том числе параметрических, которые можешь считать полными аналогами макросов. Т.е. инструментарий библиотек/модулей и инструментарий макросов в случае графического инструмента сливается в один и тот же инструментарий иерархических определений. Мы делали аналогичное еще на P-CAD почти 20 лет назад, определяя такие блоки-макросы частоиспользуемых сценариев.


X>>>и пр., т.е. всему тому что составляет разработку современного ПО "в большом".

V>>Современый мейнстрим — это императив и ничего кроме имератива. Остальное существует постольку-постольку.

X>Да ну. JavaBeans — классический компонентный подход.


Как это противоречит императивности Джавы?

X>Stateless servlets — классическая функциональщина, хоть и записываемая в императивном стиле


Это уж слишком с натяжкой, фактически с высоты птичьего полета. Просто состояние не выходит за рамки методов. Но это состояние описывается и изменяется явно именно в императивном стиле.


V>>Схемы подразделяют на семь типов: структурные, функциональные, принципиальные, соединений (монтажные), подключений (схемы внешних соединений), общие и расположения

V>>и ты это как-то сдавал... Экзамен же не покупал, надеюсь?

X>Я этого не учил Непрофильное образование 0101 — Мат.Анализ.


Графы учили обязательно.


X>>>И, значит, традиционный подход будет привычен как минимум 2 будущим поколениям разработчиков.

V>>Ерунда. Современный программист не видит своей работы без элементов графического представления, таких как:
V>>- иерархия проекта (пакетов/неймспейсов)
V>>- иерархия классов
V>>- статистика вызовов и использований
V>>- диаграммы вызовов (графы) профайлеров
V>>- графы веток систем контроля версий
V>>- и т.д. до бесконечности.

X>МОЛОДЕЦ!

X>Все твои примеры — это СЛЕДСТВИЕ кода (т.е. взгляд на код под разными углами), но ни как не его ПРИЧИНА.

Мде? А я думал, что код — это следствие того, как человек себе представляет решение проблемы. Т.е. мне казалось, что иерархия классов и пакетов не "получается сама собой из кода", а именно человек так иерархически разбивает решаемую задачу, что она превращается в итоге в графы, описывающие иерархию и связи своих составных частей.

Просто некий реверс-инженерный тул, типа вашего Решарпера, генерирует эти графы исключительно как СЛЕДСТВИЕ имеющегося кода, это дааа... сие неоспоримо. ))


X>Я очень даже поддерживаю различные диаграммы и графики. Но, посмотрев на них и сделав выводы, возвращаюсь к ТЕКСТУ для изменения.


Если бы это было так, не нужен был бы ваш рефакторинг. А так-то рефакторинг производится не столько при взгляде на исходник, сколько при анализе зависимостей, таких как дерева наследований классов, графа обратных вызовов и т.д. В итоге, удобней вызывать рефакторинг прямо из этих мест, не открывая исходник для вызова рефакторинга, т.к. открытие исходного кода в данном сценарии является лишней промежуточной операцией.


X>>>4) Традиционный подход доказал свою состоятельность.

V>>Традиционный подход — это графика и текст совместно в любой документации:
V>>Не понимаю, почему у некоторых чешется обязательно противопоставлять одно другому. Графические среды — это лишь попытка заполнить пропасть м/у документацией и целевым продуктом. Нормальное, ИМХО, желание.

X>До тех пор пока графы и диаграммы помогают понять код — "you'r welcome"!

X>Как только пытаются в эти графы запихать ВСЮ программу,и обязать ее модифицировать тоже через графическое представление — fail.

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

И что такое "графика" по-твоему? Это не только значки, это обязательно значащий текст (см любые схемы любых реальных проектов). Просто этот текст снабжен позиционированием, цветовым и блочным выделением, а лишь затем — графическими аннотациями, в т.ч. линиями (например tree-view)

Просто по сегодняшнему состоянию дел, графическое представление удобнее редактировать в тексте, но просматривать заетм таки в графике. Даже взять процесс банальной набивки HTML — 90% работы идет в исходнике, но 99% ревью — в результирующей графике.

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

Даже форматирование и отступы в исходниках — это натуральная графика для бедных. ))
Но эту графику уже давно делают графикой "для богатых": из блоков кода делают натуральный tree-view, который можно сворачивать/разворачивать, выделяют блоки текста цветом и т.д.

=====
Ну и ваши ГУИ-дизайнеры тоже не зря хлеб едят. Выделение кода не в виде строк, а в виде многогранной фигуры, где заливка и границы отличаются цветом (например, выделение текста в dotPeek) — это отличное графическое подспорье. А всего-навсего кусок текста превратили в натуральную графическую фигуру.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 23:04
Оценка: -1
Здравствуйте, xvost, Вы писали:

X>Структурная декомпозиция — вещь, известная примерно 50 лет. Это был прорыв в разработке ПО тех лет.


Ничего новее в плане декомпозиций не придумали.

X>Однако индустрия не стоит на месте. И экспериментально давно доказано, что структурная декомпозиция работает хорошо ТОЛЬКО на микро-уровне, т.е. в пределах одного алгоритма или связки 2-3 алгоритмов.

X>А дальше — ООП, аспекты, компоненты, мета-... и прочее.

Вот это:

компоненты, мета-

Это и был результат "прорыва" еще 50 лет назад.
Про микро-уровень ты придумал. Структурная декомпозиция работает на любом уровне. Курить модульность.


А вот это:

ООП, аспекты

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

X>Ничего нового


Согласен. Вас надули.
Надули с "новизной" ООП и прочих ископаемых аспектов.
Re[8]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 27.05.12 23:30
Оценка:
Здравствуйте, elmal, Вы писали:

V>>Потому что UML — это НЕ язык программирования. Это язык абстракций. На нем не напишешь полноценную программу. А на Драконе — напишешь.

E>Как это не напишешь? Ты Rational Rose видел? Тоже самое, рисуем диаграмки, внутри квадратиков набираем код (тоже скрытый), нажимаем generate — и вуаля, если все правильно то, что нагенерил, даже скомпилится. У меня в студенческие годы получалось.

Видел, делал, получалось неплохо только для объявления иерархий классов, т.е. для статики. Полноценный код так никто и не научился генерить. Искать ошибки в самом коде ДО генерения — тоже. Потому что UML не умеет. Есть несколько ОЧЕНЬ узких сценариев, где, например, по state chart что-то генерят... Но с таким колв-ом предопределенных соглашений, что похуже даже, чем в бизоне.

Ну и ты ерунду смотрел какую-то, дальше всех продвинулся в этом деле PD (Power Designer). Даже такая "мелочь" как обявление своих/произвольных паттернов в PD vs исопльзование встроенных в Розе, делает последнюю унылым Г. Роза хороша была лишь как подсказка к этапам RUP. Ну и Clear Case у них весчь, это да... А как генератор из UML в код — редкостный отстой. Малоизвестный Together на порядок мощнее был... Если бы он так безбожно не тормозил (что практически невозможно работать уже на проектах средней величины), то он мог бы стать популярным... а так не стал...


E>Дракон — крайне похожая концепция, только диаграмки другие.


Они богаче и полностью покрывают императивное программирование. Такие, казалось бы, мелочи. Отсутствующие в UML.


E>А если брать LabView — там даже генерить ничего не надо, там с помощью квадратиков можно написать полноценную программу.


Ну дык, смотря какую программу. Просто уже есть относительно много квадратиков-заготовок. Но ты можешь определять свои, аналогичные. ИМХО, это главное. Просто LabView не столько для программирования писался, сколько для макетирования. Ты можешь прогнать этот "код" в квадратиках и натравить кучу инструментов анализа на результаты. Начиная от любого сигнального анализа до статистики и даже ИИ.


E>И там тоже есть средства декомпозиции, если что.


А в графике без декомпозиции вообще никак. Иначе это будет каша.


E>Да, кстати — очень бы хотелось увидеть пример реализации быстрой сортировки на Драконе. Крайне хочется оценить понятность.


Императивная быстрая сортировка нетривиальная, в отличие от однострочных примеров на ML. Зато действительно быстрая. ))
Почему бы тебе не скачать среду и не построить эту блок-схему самому, в кач-ве небольшой разминки?

=============
Ей-богу уже стыдно за "студенческий" уровень обсуждения во всей этой теме.
Re[20]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 00:23
Оценка: +1 :)
Здравствуйте, WolfHound, Вы писали:

WH>Datalog, SQL, EBNF,... и много что еще на дракон не ложатся. Совсем.


Блин, ну ты даааал...

Как это SQL не ложится, если есть мильон существующих тулзов графического редактирования SQL?

Далее.
EBNF имеет графического близнеца — т.н. синтаксические диаграммы.

Например, IBM, вроде бы известная тебе контора, НЕ использует BNF/EBNF в своей документации, а использует графический аналог EBNF:
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.gsg.doc/gsg15.htm
Похоже, ты ни разу в жизни не читал их документаций...

Пример синтаксической диаграммы:
http://www.augustana.ab.ca/~mohrj/courses/2000.fall/csc370/lecture_notes/images/ebnf.jpg

Ну и я уже давным давно предлагал тебе скачать хотя бы два-три десятка тулзов для разработки компиляторов... просто посмотреть, где сейчас народ находится, а то вы малость застряли на сравнении с бизоном из 80-х... Во многих тулзах идет такое же или похожее редактирование синтаксических диаграмм.
Re[20]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 00:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Что делает дракон применимым только в очень ограниченном классе задач, которые решаются конечными автоматами.


И да, насчет конечных тебя уже поправляли неоднократно. Магазинные автоматы теоретически бесконечны.
Re[8]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 00:31
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>"Передача дискеты в отдел программистов". Мда. Я бы постеснялся такие слайды показывать вообще (кроме как при обсуждении истории).


А чего тут стесняться? Бывают конторы, в которых радиусы сетевых соединений ограничены специально.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 00:41
Оценка: 4 (1)
Здравствуйте, _DAle_, Вы писали:

_DA>А с каких пор pushdown automaton эквивалентен машине Тьюринга?


Ровно с тех пор, с каких машина Тьюринга эквивалентна PDA при подаче на нее заведомо конечной программы.

If we allow a finite automaton access to two stacks instead of just one, we obtain a more powerful device, equivalent in power to a Turing machine.


Фактически современные архитектуры оперируют 2-мя стеками: стеком возврата и стеком данных. Просто они размещаются физически вперемешку в одной области памяти. И дракон так же описывает вызов подпрограмм с параметрами. Выделенное курсивом оно и есть — машина Тьюринга.

Но и это мелочи. Ты не смог сообразить, что на Драконе можно описать саму машину Тьюринга, которая в свою очередь... ну ты понял..
Re[21]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 01:12
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Пример синтаксической диаграммы:

А можно то же самое в виде нормального EBNF?

V>Ну и я уже давным давно предлагал тебе скачать хотя бы два-три десятка тулзов для разработки компиляторов... просто посмотреть, где сейчас народ находится, а то вы малость застряли на сравнении с бизоном из 80-х... Во многих тулзах идет такое же или похожее редактирование синтаксических диаграмм.

Можно эти "многие тулзы"?
Sapienti sat!
Re[9]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 01:18
Оценка:
Здравствуйте, vdimas, Вы писали:

C>>"Передача дискеты в отдел программистов". Мда. Я бы постеснялся такие слайды показывать вообще (кроме как при обсуждении истории).

V>А чего тут стесняться? Бывают конторы, в которых радиусы сетевых соединений ограничены специально.
Я про всю методологию разработки.
Sapienti sat!
Re[10]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 01:23
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Я про всю методологию разработки.


Ну дык аналитеги рисуют постановку, требования и прочие умыльные юз-кейзы и передают разработчикам на условных дискетах... Та же фигня, вид в профиль. Слухи об устаревании подобной методологии, поверь, крайне преждевременны. От артефактов внутренней документации программисты не избавятся никогда, как бы им порой не хотелось обратного.
Re[10]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 01:25
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Я про всю методологию разработки.


А вообще, использование формального языка для постановки задачи — это на самом деле 5 баллов! Вы просто малость не в ту сторону смотрите и не то желаете там увидеть.
Re[11]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 01:37
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А так вижу, что этот ДРАКОН используется очередными псевдоакадемическими бездарями чтобы мучать студентов.


Почему мучать? Свою первую более-менее сложную программу я расписал на 3-х листах в блок-схемах когда-то. И она сразу заработала. Просто у меня не было достаточно машинного времени на тот момент, чтобы позволить себе ее отладку часами... Я ее просто набил, исправил ошибки набора и она сразу заработала. А опыту было — 2 простых программы до этого (9-й класс, компы только несколько дней как в глаза увидел). В течении одного 45-минутного урока как раз успел набить программу по блок-схеме и поиграть в игру с друзьями. (это была игра Питон, которую случайно увидел на EC-терминале на экскурсии и захотелось в нее поиграть). Учитель информатики как увидел такой фокус... в общем, с тех пор у меня было неограниченное машинное время... ))

Да и сейчас, если чувствую нутром во время ревью чужого кода, что "здесь что-то не то", беру блокнот и рисую квадратики и стрелочки и сразу вижу это "не то" или что напрасно сомневался.
Re[5]: Язык ДРАКОН — новая идея в программировании
От: novitk США  
Дата: 28.05.12 02:28
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП> ЧЕТЫРЕ ВИДЕОУРОКА НА YOUTUBE

ВП>по 15 минут каждый

Посмотрел 10 минут ролика. В чем отличие этой программы от LabView?
Re[11]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 28.05.12 03:25
Оценка:
> ВП>2. Вы привели привер ПЛОХОЙ графики.
> ВП>3. Дракон-схема — это ХОРОШАЯ графика.
> В 101 раз просим привести пример реального кода на ДРАКОНе.
>
> Хотя бы в виде аналога десяти тысяч строк обычного кода. Это несколько месяцев работы обычного программиста на типичном коде.
>
> А так вижу, что этот ДРАКОН используется очередными псевдоакадемическими бездарями чтобы мучать студентов.

Вообще-то на уровне школы это было бы нормально преподавать. Так сказать для базового уровня понимания. Однозначно лучше чем блок-схемы, даст понимание декомпозиции, раз уж это в драконе идея фикс. Ну и псевдоакадемические бездари в школе как бэ пусть себе будут, не страшно
Ну а на повседневную практику это не ляжет, реальная программа имеет в общем случае сетевую структуру функциональных блоков, что принципиально не сочетается с идеями дракона.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[9]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 05:55
Оценка: +2 :)
Здравствуйте, vdimas, Вы писали:

E>>Дракон — крайне похожая концепция, только диаграмки другие.

V>Они богаче и полностью покрывают императивное программирование. Такие, казалось бы, мелочи. Отсутствующие в UML.
Одно только но. Современное программирование давно не императивно. Оно является комбинацией ООП, функционального подхода, АОП, императивного, а также метапрограммирования.

V>А в графике без декомпозиции вообще никак. Иначе это будет каша.

Не в графике тоже без декомпозиции никак. Однако практика показывает, что даже в графике на декомпозицию часто забивают, предпочитая сделать ASAP, но жить с кашей. Кроме всего прочего — при реальном жизненном цикле программ постоянно требуется вносить изменения, доработки, которые не запланированы изначально и на которые не закладывались — и здесь тоже при типичной квалификации программистов получается каша, ибо быстро рефакторить мало кто умеет. Рефакторить на графических языках сложнее на порядок!

V>Императивная быстрая сортировка нетривиальная, в отличие от однострочных примеров на ML. Зато действительно быстрая. ))

V>Почему бы тебе не скачать среду и не построить эту блок-схему самому, в кач-ве небольшой разминки?
Даже нашел реализацию сам:
http://upload.wikimedia.org/wikipedia/commons/f/fd/Quicksort_in_DRAKON-Python.png
Куча состояний, внимание расфокусировано, рекурсию хрен заметишь.
Лично я никакого ускорения понимания не заметил. По сравнению с нормальной реализацией:
Псевдокод:
  function quicksort('array')
      if length('array') ≤ 1
          return 'array'  // an array of zero or one elements is already sorted
      select and remove a pivot value 'pivot' from 'array'
      create empty lists 'less' and 'greater'
      for each 'x' in 'array'
          if 'x' ≤ 'pivot' then append 'x' to 'less'
          else append 'x' to 'greater'
      return concatenate(quicksort('less'), 'pivot', quicksort('greater')) // two recursive calls

Реализация:
def quicksort(list, p, r)
    if p < r then
        q = partition(list, p, r)
        quicksort(list, p, q-1)
        quicksort(list, q+1, r)
    end
end
 
def partition(list, p, r)
    pivot = list[r]
    i = p - 1
    p.upto(r-1) do |j|
        if list[j] <= pivot
            i = i+1
            list[i], list[j] = list[j],list[i]
        end       
    end
    list[i+1],list[r] = list[r],list[i+1]
    return i + 1
end

Лично для меня псевдокод и реализация читается и понимается на порядок легче. Я не одинок — LapteVV подтвердил, что подавляющее большинство студентов блок схемы воспринимают значительно хуже, чем запись алгоритма по шагам. Те, кто блок схемы понимают лучше — те разработчиками не становятся обычно, они идут в тестеры, аналитики, менеджеры, HRы или вообще в домохозяйки.
Re[10]: Язык ДРАКОН — новая идея в программировании
От: samius Россия http://sams-tricks.blogspot.com
Дата: 28.05.12 06:50
Оценка:
Здравствуйте, elmal, Вы писали:

E>Даже нашел реализацию сам:

E>http://upload.wikimedia.org/wikipedia/commons/f/fd/Quicksort_in_DRAKON-Python.png
E>Куча состояний, внимание расфокусировано, рекурсию хрен заметишь.
Она еще и не по месту сортирует
Re[10]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 08:39
Оценка:
Здравствуйте, elmal, Вы писали:

E>Лично для меня псевдокод и реализация читается и понимается на порядок легче.


Ничего для тебя не понимается вообще, в графике и в псевдокоде приведены разные реализации.


E>Я не одинок — LapteVV подтвердил, что подавляющее большинство студентов блок схемы воспринимают значительно хуже, чем запись алгоритма по шагам.


В твоем случае, хуже в бесконечное кол-во раз, бо деление на 0 дает бесконечность. Заплутать в 3-х соснах, это пять. ))


E>Те, кто блок схемы понимают лучше — те разработчиками не становятся обычно, они идут в тестеры, аналитики, менеджеры, HRы или вообще в домохозяйки.


Это ты себя, любимого, выгородить решил. Те, кто не в состоянии понимать блок-схемы, вообще на технические специальности не годятся по складу ума. Как тебе юз-кейз дадут читать, если ты его прочесть не сумеешь? Получается, над тобой нужен старший смотрящий, который разжует и в рот положит.

Аналитики в твоем списке не при чем, т.к. аналитики тоже имеют технический склад ума, просто они являются прикладными специалистами в другой области, но с определенными навыками анализа, обобщения и формулирования задач. Ты на самом деле пытался описать гуманитариев, но по незнанию приписал туда всех подряд, включая домохозяек, которые не факт, что обязательно относятся к гуманитариям.
Re[11]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 08:55
Оценка: :)
Здравствуйте, vdimas, Вы писали:

C>>Я про всю методологию разработки.

V>Ну дык аналитеги рисуют постановку, требования и прочие умыльные юз-кейзы и передают разработчикам на условных дискетах... Та же фигня, вид в профиль. Слухи об устаревании подобной методологии, поверь, крайне преждевременны. От артефактов внутренней документации программисты не избавятся никогда, как бы им порой не хотелось обратного.
Дело в том, что ДРАКОН — это не язык разработки use-case'ов и для описания формальных требований он тоже не очень подходит.

Получается непонятная шизофрения — с одной стороны инжинеры должны описывать алгоритм на некотором почти-формальном языке, а с другой стороны программисты должны по этому намалёванному непотребию потом делать что-то работающее. Я прямо отсюда слышу их матюки.

Т.е. я совсем не против методологии, где инжинеры описывают формальные требования, по которым потом создаётся код. Но для этого надо иметь соответствующие инструменты. И самый главный из них — старый добрый текст. Диаграммы имеют смысл, но только для:
1) Иллюстрации общей структуры (т.е. иерархические диаграммы).
2) Диаграммы для КА (в различных формах).
Sapienti sat!
Re[12]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 08:57
Оценка: +1
Здравствуйте, grosborn, Вы писали:

G>Вообще-то на уровне школы это было бы нормально преподавать. Так сказать для базового уровня понимания. Однозначно лучше чем блок-схемы, даст понимание декомпозиции, раз уж это в драконе идея фикс. Ну и псевдоакадемические бездари в школе как бэ пусть себе будут, не страшно

Нет-нет-нет.

Как раз это прекрасный способ привить отвращение к программированию. Нас на первом курсе как-то заставляли рисовать диаграммы кода по ГОСТу, когда несколько строк кода превращаются в несколько страниц A4 с диаграммами. От этого плевались буквально все.
Sapienti sat!
Re[12]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 08:59
Оценка:
Здравствуйте, vdimas, Вы писали:

C>>А так вижу, что этот ДРАКОН используется очередными псевдоакадемическими бездарями чтобы мучать студентов.

V>Почему мучать? Свою первую более-менее сложную программу я расписал на 3-х листах в блок-схемах когда-то. И она сразу заработала. П\росто у меня не было достаточно машинного времени на тот момент, чтобы позволить себе ее отладку часами...
Сочуствую. Тяжело жилось в каменном веке, с деревянными компьютерами прибитыми к полу.

Но сейчас ситуация немного другая.

V>Да и сейчас, если чувствую нутром во время ревью чужого кода, что "здесь что-то не то", беру блокнот и рисую квадратики и стрелочки и сразу вижу это "не то" или

что напрасно сомневался.
Прекрасно. А теперь то же самое попробуй на формальном ДРАКОНе.
Sapienti sat!
Re[11]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 09:08
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Это ты себя, любимого, выгородить решил. Те, кто не в состоянии понимать блок-схемы, вообще на технические специальности не годятся по складу ума. Как тебе юз-кейз дадут читать, если ты его прочесть не сумеешь? Получается, над тобой нужен старший смотрящий, который разжует и в рот положит.

Замечательно. Итого делаем вывод, что программирование — это чисто женская профессия. Ибо у мужчин просто нет необходимого склада ума для этого дело — они хуже понимают блок-схемы. Увольняем всех мужчин нахрен, оставляем 1% женщин — и вперед, наконец поднимем ИТ до нужного уровня.
Юз кейсы всю жизнь пишутся и писались текстом! Из графического — только дизайн. Конечные автоматы, если они есть, задаются просто табличками. По крайней мере сколько не видел буржуйские спеки, никаких диаграмм там не было. Графические юз кейсы я первый и последний раз видел в институте, когда надо мной UMLом измывались и заставляли из этих диаграмок код генерить. В православных конторах, где все по ГОСТу, работать к счастью не доводилось. Рисование юзкейсов диаграмками — это напрасная трата времени и денег. Я конечно понимаю, что в Севастополе процесс разработки на порядок выше поставлен, чем в Москве, да и ИТ там гораздо сильнее развито, и зарплаты там наверно тысяч под 500 у джуниоров, но как то пока севастопольские работодатели не оказывали мне чести у них поработать.
Re[21]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 28.05.12 09:12
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Блин, ну ты даааал...

Это ты в очередной раз дал.
1)В каком месте это дракон?
2)Засунуть слова в прямоугольники и заменить операторы на стрелочки много ума не надо.
И эта махинация ухудшила восприятие.
Например, чтобы понять, что else-if может повторяться 0 или более раз нужно распутывать клубок стрелок.

V>Как это SQL не ложится, если есть мильон существующих тулзов графического редактирования SQL?

На основе дракона?

V>Например, IBM, вроде бы известная тебе контора, НЕ использует BNF/EBNF в своей документации, а использует графический аналог EBNF:

Да плевать мне на IBM.

V>http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.gsg.doc/gsg15.htm

Феерический ужОс.

V>Ну и я уже давным давно предлагал тебе скачать хотя бы два-три десятка тулзов для разработки компиляторов... просто посмотреть, где сейчас народ находится, а то вы малость застряли на сравнении с бизоном из 80-х... Во многих тулзах идет такое же или похожее редактирование синтаксических диаграмм.

Ты даже не понял, какие у меня претензии к бизонам.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[10]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 28.05.12 09:15
Оценка:
Здравствуйте, elmal, Вы писали:

V>>Почему бы тебе не скачать среду и не построить эту блок-схему самому, в кач-ве небольшой разминки?

E>Даже нашел реализацию сам:
E>http://upload.wikimedia.org/wikipedia/commons/f/fd/Quicksort_in_DRAKON-Python.png
E>Куча состояний, внимание расфокусировано, рекурсию хрен заметишь.
E>Лично я никакого ускорения понимания не заметил. По сравнению с нормальной реализацией:

Вы совершенно правы, на простых алгоритмах дракон не дает выигрыша.
Но в сложных случаях дело обстоит иначе.

Давайте рассмотрим сложный случай, например, проектирование атомного реактора (на драконе).
Сейчас я дам ссылку. Но перед этим пояснения:

1. Прочитайте раздел ВИЗУАЛИЗАЦИЯ МЕТОДОЛОГИЙ (стр. 201-212).

2. Это старая книга (2001 год). Я давно отказался от термина "методология",
который я использовал под дурным влиянием Джеймса Мартина.

3. Таким образом, название следует читать ВИЗУАЛИЗАЦИЯ АЛГОРИТМОВ.

4. Я отказался также от термина "алгоритм-концепция". Следует читать "алгоритм".

5. Но это мелочи. Главное в том, что в данном примере (атомный реактор) не следует употреблять термин "состояние".
Никаких состояний там нет. Это не конечный автомат. То, что на первый взгляд, кажется состоянием, это СТРУКТУРНЫЙ ЭЛЕМЕНТ алгоритма.
http://www.e-reading.org.ua/bookreader.php/135509/Kak_uluchshit'_rabotu_uma.pdf
С уважением В. Паронджанов
Re[11]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 09:26
Оценка: +2
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Вы совершенно правы, на простых алгоритмах дракон не дает выигрыша.

ВП>Но в сложных случаях дело обстоит иначе.
Так, уже достало враньё слушать.

Пример сложного алгоритма в студию, хотя бы аналог 10000 строк кода. Иначе всё про ДРАКОН считаем банальным враньём и фрикачеством.

У ваших оппонентов (WolfHound, к примеру) есть действительно интересные разработки, которые подкреплены заметным объёмом кода. Я несогласен с их идеями, но воспринимаю их вполне серьёзно. Возможно, что это я ошибаюсь, а не они.

А ваши поделки не тянут даже на это. В общем, "Code talks bullshit walks" (c) Linus Torvalds.
Sapienti sat!
Re[21]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 09:31
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Например, IBM, вроде бы известная тебе контора, НЕ использует BNF/EBNF в своей документации, а использует графический аналог EBNF:

V>http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.gsg.doc/gsg15.htm
V>Похоже, ты ни разу в жизни не читал их документаций...
Замечательно, что сам привел пример IBM. Прочитай отзывы об их продуктах. Например по поводу Lotus Notes. Прочитай отзывы программистов, которые там работают. Могу сам даже написать про их мегабиблиотеку связи, которая плодит по потоку на каждое обращение, а в интерфейсах не предусмотрено даже метода закрыть соединение. Или про приколы, когда дергаешь метод получения данных, в результате удаленный сервер, на котором работает куча пользователей, перезагружается. Слишком часто будешь забирать данные — тоже часто перезагружается. Замечательная система, как так можно писать, я не представляю. Эта IBM такими темпами скоро загнется. Ибо работать на них, это настоящий ад. Там такая бюрократия, что любой НИИ советских времен сказкой покажется. Я один раз к ним чуть не попал на проект. А потом со мной работал коллега, который имел счастье к ним попасть. Ему потом очень страшный адский проект сказкой казался, он такое рассказывал, что волосы дыбом вставали.
Так вот, IBM — это пример того, как не надо делать продукты.
Re[12]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 10:48
Оценка: -2
Здравствуйте, elmal, Вы писали:

V>>Это ты себя, любимого, выгородить решил. Те, кто не в состоянии понимать блок-схемы, вообще на технические специальности не годятся по складу ума. Как тебе юз-кейз дадут читать, если ты его прочесть не сумеешь? Получается, над тобой нужен старший смотрящий, который разжует и в рот положит.

E>Замечательно. Итого делаем вывод, что программирование — это чисто женская профессия. Ибо у мужчин просто нет необходимого склада ума для этого дело — они хуже понимают блок-схемы.

Ты опять сел в лужу. Всё ровно наоборот: мужчины понимают карты и схемы многократно лучше женщин, но женщинам лучше даются длинные последовательности рассуждений. И естественные языки, поэтому. И перестань, наконец, бесконечно тараторить. ))


E>Юз кейсы всю жизнь пишутся и писались текстом! Из графического — только дизайн. Конечные автоматы, если они есть, задаются просто табличками. По крайней мере сколько не видел буржуйские спеки, никаких диаграмм там не было.


Значит, ты не видел ещё ничего или тебе просто не показывали, зная бесполезность для тебя лично.
Re[11]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 10:52
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>5. Но это мелочи. Главное в том, что в данном примере (атомный реактор) не следует употреблять термин "состояние".

ВП>Никаких состояний там нет. Это не конечный автомат. То, что на первый взгляд, кажется состоянием, это СТРУКТУРНЫЙ ЭЛЕМЕНТ алгоритма.
ВП>http://www.e-reading.org.ua/bookreader.php/135509/Kak_uluchshit'_rabotu_uma.pdf
Итого, для реактора ок, предположим что язык подходит лучше, чем конкуренты. Если мне нужно будет делать документацию — ок, возможно когда нибудь попробую. Но на том примере перечислена не полная программа, там только верхушка айсберга, служащая для иллюстрации. Я в курсе, что можно продолжать спускаться и постепенно увеличивать детализацию. Я даже готов признать, что для управления реактором оптимально сначала нарисовать высокоуровневый алгоритм, тщательно его проверить, а далее на его основе сгенерить текст.
А теперь перечисляю но:
1) Реакторы, космические корабли, сложное медицинское оборудование вроде томографов — это весьма узкая область. В этой области до сих пор царит царство waterfall methodology, сначала полная и подробная документация, затем реализация, требования не меняются. И скорее всего так и будет водопад царствовать в этой области, так как для своих задач он вполне подходит;
2) В современном мире в 99% случаев правят AGILE методологии, требования меняются постоянно, сделать нужно быстро, на документирование нет времени, ибо неизвестно, нужна новая фича или нет. Ты делаешь фичу, тебе говорят молодец, но мы передумали;
3) Итого, я готов допустить, что для waterfall методологии дракон довольно хорошо подходит (правда там пилить еще и пилить его нужно). У вас большой опыт в этом — я даже спорить не буду, ибо именно в waterfall некомпетентен. Но я могу сказать точно, что подход — сначала рисуем, а потом генерим, в современных Agile методологиях полностью не применим. Ибо тут уже у меня хороший опыт, и здесь я вполне компетентен.
4) На этом форуме найдется крайне мало людей, использующих водопад, и работающих в областях, где он применим. Соответственно именно в этом форуме вряд ли у вас будет большая поддержка. А вот критики будет очень и очень много, ибо все будут рассматривать язык применительно к своим задачам и своему весьма немалому опыту работы по другим методологиям.
Re[22]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 10:56
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

V>>Блин, ну ты даааал...

WH>Это ты в очередной раз дал.
WH>1)В каком месте это дракон?

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

WH>2)Засунуть слова в прямоугольники и заменить операторы на стрелочки много ума не надо.


Это спор с самим собой?

WH>И эта махинация ухудшила восприятие.


Эта "махинация" позволяет составлять запросы даже тем, кто плохо владеет языком SQL или только начинает его изучать. Я наблюдал как девочки оперативно накидывали в MS Access полезные запросы в графике буквально на 2-3-й день его изучения, не зная языка SQL. И видел, как они постепенно изучали тем самым этот SQL до приемлимого уровня, видя во что именно преобразуется графическое представление.


WH>Например, чтобы понять, что else-if может повторяться 0 или более раз нужно распутывать клубок стрелок.


Это в любом случае надо понять, даже в виде БНФ или любой другой нотации.


V>>Как это SQL не ложится, если есть мильон существующих тулзов графического редактирования SQL?

WH>На основе дракона?

По кругу.

V>>Например, IBM, вроде бы известная тебе контора, НЕ использует BNF/EBNF в своей документации, а использует графический аналог EBNF:

WH>Да плевать мне на IBM.
V>>http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.gsg.doc/gsg15.htm
WH>Феерический ужОс.

Ну и ок. Т.е. мы согласны обсуждать только Немерле, а на остальное плевать. На том и порешим.


V>>Ну и я уже давным давно предлагал тебе скачать хотя бы два-три десятка тулзов для разработки компиляторов... просто посмотреть, где сейчас народ находится, а то вы малость застряли на сравнении с бизоном из 80-х... Во многих тулзах идет такое же или похожее редактирование синтаксических диаграмм.

WH> Ты даже не понял, какие у меня претензии к бизонам.

Да пообщался я с вами в той фейерической ветке про БНФ. Поржал, спасибо. Редкостная каша в голове.
Re[22]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 10:59
Оценка:
Здравствуйте, elmal, Вы писали:

E>Я один раз к ним чуть не попал на проект. А потом со мной работал коллега, который имел счастье к ним попасть. Ему потом очень страшный адский проект сказкой казался, он такое рассказывал, что волосы дыбом вставали.

E>Так вот, IBM — это пример того, как не надо делать продукты.

Да ну тебя с твоими страшилками. Ты вот здесь
Автор: elmal
Дата: 28.05.12
в 3-х соснах знатно плутаешь... я уже фиг знаю что для тебя "адский проект". Что-нить немного сложнее тетриса, очевидно.
Re[12]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 11:02
Оценка:
Здравствуйте, elmal, Вы писали:

E>4) На этом форуме найдется крайне мало людей, использующих водопад, и работающих в областях, где он применим.


Боже, сколько нубства... Водопад ВСЕГДА применим, когда идет реализация заведомо известных требований (спецификаций, протокола, и т.д. и т.п.). В этих условиях ему нет равных. И опять же — водопад не отменяет RUP, то бишь итеративный характер разработки. Это просто движение вектора декомпозиции сложности и ничего более.
Re[13]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 11:13
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Ты опять сел в лужу. Всё ровно наоборот: мужчины понимают карты и схемы многократно лучше женщин, но женщинам лучше даются длинные последовательности рассуждений. И естественные языки, поэтому. И перестань, наконец, бесконечно тараторить. ))

Я опираюсь вот на это
Автор: LaptevVV
Дата: 24.05.12
.

V>Значит, ты не видел ещё ничего или тебе просто не показывали, зная бесполезность для тебя лично.

Я говорю еще раз — в православных конторах я не работал! И куда мне до великих специалистов исключительно по императивному программированию. Не сомневаюсь, что в конторах, где царит ГОСТ, исключительно императивный подход, а также многое другое тяжелое наследие прежних времен, мне не заплатят даже 5000 рублей в месяц.
Re[12]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 11:23
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Дело в том, что ДРАКОН — это не язык разработки use-case'ов и для описания формальных требований он тоже не очень подходит.


Use-case тоже описывают лишь крохи формальных требований. Но на драконе можно описать юз-кейзы. Я сильно его не смотрел, но даже на что посмотрел: "силуэт" — это полный аналог диаграмм use-case по своим выразительным возможностям. Не зря алгоритмы верхнего уровня имеют "силуэт".

В драконе есть любопытный момент, что делается серьезная попытка устаканить некую экологию графической нотации... Бо тот же UML никак эти вещи не определяет, и я видел действительно достаточно ужаса лишь потому, что у авторов юз-кейзов был плохой вкус, а хорошему научиться было банально негде.


C>Получается непонятная шизофрения — с одной стороны инжинеры должны описывать алгоритм на некотором почти-формальном языке,


Описание ПРИКЛАДНОГО алгоритма — это и есть ТЗ. И это очень хорошее ТЗ в отличие от уже ставших привычным "да ты не выё, ты рукой покажи..." и прочих монологов брата Нибэнимэда.

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

C>а с другой стороны программисты должны по этому намалёванному непотребию потом делать что-то работающее. Я прямо отсюда слышу их матюки.


Ну вон из профессии, марш на вебку, делов-то...
Кто-то же пишет реализации протоколов TCP? (Упрощенную реализацию ваш покорный слуга тоже когда-то сделал для контроллера). А там спецификаций в сумме — мама не горюй. И никто не умер...

ИМХО, формальные описания делают две полезные вещи:
— краткость самого описания; (можно пользоваться преопределенными примитивами, составляющими язык описания и его семантику)
— полнота и однозначность.

Все-таки в RFC много отcебятины, воды и что самое досадное — недоговоренностей. Надо "проникаться" и делать прочие эзотерическо-загадочные вещи. Без спецификаций оставлен целый класс ситуаций в TCP, пришлось по другим местам по крохам собирать информацию о "правилах хорошего тона" в поведении ендпоинтов, т.ч. числе через реакцию ответной части из работающей операционки. Прямо оттуда ты мог слышать мои матюги. Я бы предпочел однозначные и полные спецификации вместо этого бредового этапа разработки.


C>Т.е. я совсем не против методологии, где инжинеры описывают формальные требования, по которым потом создаётся код. Но для этого надо иметь соответствующие инструменты. И самый главный из них — старый добрый текст. Диаграммы имеют смысл, но только для:

C>1) Иллюстрации общей структуры (т.е. иерархические диаграммы).
C>2) Диаграммы для КА (в различных формах).

Блок схемы — это считай разновидность автомата. Просто автомат магазинный. ИМХО, для огромного класса алгоритмов магазинный удобнее конечного. Ну и магазинные включают в себя все остальные классы автоматов.

Я не хочу акцентировать конкретно на Драконе. Речь о парадигме как таковой. Тем более, что была дана ссылка где-то тут на документ с еще двумя языками — императивным и функциональном. И ес-но я считаю, что графический язык должен иметь одно или несколько отображений на какой-нить текстовый язык, т.к. самое удобное — это конечно-же двусторонее редактирование (по своему опыту). Т.е. многие операции в тексте гораздо удобнее. Но смотреть затем удобнее в графику. Отпадает надобность в блокнотиках, карандашиках и прочих мятых салфетках.
Re[14]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 11:39
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, vdimas, Вы писали:


V>>Ты опять сел в лужу. Всё ровно наоборот: мужчины понимают карты и схемы многократно лучше женщин, но женщинам лучше даются длинные последовательности рассуждений. И естественные языки, поэтому. И перестань, наконец, бесконечно тараторить. ))

E>Я опираюсь вот на это
Автор: LaptevVV
Дата: 24.05.12
.


Ну а я опираюсь на многолетний опыт работы с женщинами и мужчинами в области разработки электроники. Различия в подходе к работе увидел довольно быстро, заинтересовался и одно время читал много материала об этих различиях, подтверждающего мои наблюдения. Например:
http://www.medinfo.ru/sovety/psi/33.phtml

В восприятии мужчины главное место занимает то, что он видит. У женщины большая часть впечатлений связана с восприятием речи.

У мужчин                           У женщин
логика                             интуиция
обобщение                          анализ
восприятие в целом                 внимание к деталям     
склонность к абстракциям           конкретика


Тут в первй строчке немного не согласен: мужчины не понимают, что есть "интуиция". На самом деле это очень далеко зашедшая в подробностях логика. ИМХО, мужская логика проще гораздо. Еще от себя добавлю, что мужчина легко рассуждает о параллельном взаимодействии сразу нескольких алгоритмов, зато женщине проще уследить за всеми деталями одного, даже очень сложного и глубокого, что мужчинам бывает сложно, и наверно от этого — всегда скучно.

И таки способность мужчин многократно лучше воспринимать карты/схемы — это известный факт. Географический кретинизм — это вообще чисто женская фишка. (Дамы, не сочтите за шовинизм, у мужчин своих недостатков хватает).


E>Я говорю еще раз — в православных конторах я не работал! И куда мне до великих специалистов исключительно по императивному программированию. Не сомневаюсь, что в конторах, где царит ГОСТ, исключительно императивный подход, а также многое другое тяжелое наследие прежних времен, мне не заплатят даже 5000 рублей в месяц.


Самое время спросить о возрасте, но че-то нелюбопытно. Итак понятно.. ))
Re[13]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 11:49
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Сочуствую. Тяжело жилось в каменном веке, с деревянными компьютерами прибитыми к полу.


C>Но сейчас ситуация немного другая.


Дык, сейчас всё хуже, насколько я вижу. Посади даже 15-тилетнего ребенка за комп и попроси написать аналогичную программу и засеки время. Ответ я знаю заранее.


V>>Да и сейчас, если чувствую нутром во время ревью чужого кода, что "здесь что-то не то", беру блокнот и рисую квадратики и стрелочки и сразу вижу это "не то" или

C>что напрасно сомневался.
C>Прекрасно. А теперь то же самое попробуй на формальном ДРАКОНе.

Дык, дело навыков. Я его потыкал — не хватает возможностей настройки горячих клавиш. А вообще с графическими тулзами я работал очень много по электронике. Повторю — дело навыков и удобства конкретной реализации редактора. Какие-то удобней, какие-то нет. Например, несмотря на убогость системы ORCAD в свое время, набивать схемы на нем было многократно удобнее, чем на PCAD, их потом из ORCAD в PCAD импортировали и дальше на нем уже доводили схему до производства.

Т.е. даже берем один графический язык — схем электрических принципиальных, и видим кучи редакторов разной степени удобства.
Re[14]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 11:54
Оценка:
Здравствуйте, vdimas, Вы писали:

C>>Сочуствую. Тяжело жилось в каменном веке, с деревянными компьютерами прибитыми к полу.

C>>Но сейчас ситуация немного другая.
V>Дык, сейчас всё хуже, насколько я вижу. Посади даже 15-тилетнего ребенка за комп и попроси написать аналогичную программу и засеки время. Ответ я знаю заранее.
В 15 лет я уже писал программы в тысячи строк кода (на С++). Первую программу я написал в 9 лет (на Бэйсике).

V>Т.е. даже берем один графический язык — схем электрических принципиальных, и видим кучи редакторов разной степени удобства.

Электрические схемы — это по своей сути графическая вещь. Но вот сложные схемы всё как-то сейчас в виде текста описывают.
Sapienti sat!
Re[14]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 28.05.12 12:27
Оценка:
> Я говорю еще раз — в православных конторах я не работал! И куда мне до великих специалистов исключительно по императивному программированию. Не сомневаюсь, что в конторах, где царит ГОСТ, исключительно императивный подход, ...

Не нужно унижать императивный подход. Видишь ли, есть такая проблема, на космическую станцию нельзя послать специалиста в командировку для отладки, сбора требований, исправления бага и смены прошивки в микроконтроллере.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[15]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 13:10
Оценка:
Здравствуйте, grosborn, Вы писали:

G>Не нужно унижать императивный подход. Видишь ли, есть такая проблема, на космическую станцию нельзя послать специалиста в командировку для отладки, сбора требований, исправления бага и смены прошивки в микроконтроллере.

Так я что — спорю? Я ни грамма не унижаю. Более того, наряду с прочими подходами, я вполне использую и императивный, и ни грамма этого не стыжусь. Вот только во первых, кроме императивного, есть еще куча других подходов. Которые вполне применимы и на космической станции. Космическая индустрия уникальна тем, что там несоизмеримо выше цена ошибки. В результате там несоизмеримо выше затраты на документирование и тестирование.
Кстати про космос — занятная статья:
http://c2.com/cgi/wiki?MarsSpiritSoftwareProblem
Re[23]: Язык ДРАКОН — новая идея в программировании
От: WolfHound  
Дата: 28.05.12 13:19
Оценка: +1
Здравствуйте, vdimas, Вы писали:

WH>>1)В каком месте это дракон?

V>В таком, что здесь походя утверждают о неприменимости графического представления как такового. Дык, остыньте малость на фактах.
Ты посмотри, на что ты отвечаешь.

V>Эта "махинация" позволяет составлять запросы даже тем, кто плохо владеет языком SQL

И где тут SQL?
Может хватить прыгать по темам.
Или сказать совсем нечего?

V>или только начинает его изучать. Я наблюдал как девочки оперативно накидывали в MS Access полезные запросы в графике буквально на 2-3-й день его изучения, не зная языка SQL.

А я видел девочек которые на С++ пишут лучше многих тут присутствующих.

V>И видел, как они постепенно изучали тем самым этот SQL до приемлимого уровня, видя во что именно преобразуется графическое представление.

А с чего ты взял, что за те же 2-3 дня они бы SQL не осилили?

WH>>Например, чтобы понять, что else-if может повторяться 0 или более раз нужно распутывать клубок стрелок.

V>Это в любом случае надо понять, даже в виде БНФ или любой другой нотации.
Сравнил блин.
В нормальной нотации нужно запомнить всего один оператор.

Кстати как в твоей графике будет выглядеть запись того что правило нужно повторить от 5 до 10 раз?

V>Ну и ок. Т.е. мы согласны обсуждать только Немерле, а на остальное плевать. На том и порешим.

Причем тут немерле? Совсем аргументов нет?

V>Да пообщался я с вами в той фейерической ветке про БНФ. Поржал, спасибо. Редкостная каша в голове.

Сказал адепт секты, которая, не смотря на свою многочисленность, за 50 лет не смогла создать ни одного алгоритма годного для промышленного применения.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 28.05.12 13:50
Оценка:
Справка

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

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

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

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

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

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

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

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

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

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

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

Космодромы:

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

Байконур,

Плесецк,

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

Южнокорейский космодром "Naro".
С уважением В. Паронджанов
Re[17]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 28.05.12 14:01
Оценка:
Нет, ну совести совсем нет, зачем же так бессовестно вводить людей в заблуждение.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[15]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 14:19
Оценка:
Здравствуйте, Cyberax, Вы писали:

V>>Дык, сейчас всё хуже, насколько я вижу. Посади даже 15-тилетнего ребенка за комп и попроси написать аналогичную программу и засеки время. Ответ я знаю заранее.

C>В 15 лет я уже писал программы в тысячи строк кода (на С++). Первую программу я написал в 9 лет (на Бэйсике).

Охотно верю. Все-равно, ты бы не вложился в 20-30 мин, даже имея такой опыт на тот момент. Ответ я знаю заранее, потому что вижу "молодых и одаренных" в компьютерных кружках и вижу как они пишут программы: добавили несколько строк — запускают смотрят. Поправляют. Потом опять. Фактически процесс написания программы состоит из исправления багов в каждой 5-й строчке или даже чаще. Откровенная печаль.

А у меня опыт был — 2 раза урока информатики до этого.. И скорость печатанья, прямо скажем, отличается от нынешней. Просто потратил около 30 мин на диаграмму дома и чуть более 20 мин на ее набивку на уроке. И всё заработало сразу.


V>>Т.е. даже берем один графический язык — схем электрических принципиальных, и видим кучи редакторов разной степени удобства.

C>Электрические схемы — это по своей сути графическая вещь. Но вот сложные схемы всё как-то сейчас в виде текста описывают.

Тебя обманули. Описывают булевскую однородную логику, и больше ничего.
Re[18]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 14:23
Оценка: -1 :)
Здравствуйте, grosborn, Вы писали:

G>Нет, ну совести совсем нет, зачем же так бессовестно вводить людей в заблуждение.


У тебя есть информация, подтверждающая твои инсинуации? Поделись.
Re[12]: Язык ДРАКОН — новая идея в программировании
От: Mr.Cat  
Дата: 28.05.12 14:30
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Получается непонятная шизофрения — с одной стороны инжинеры должны описывать алгоритм на некотором почти-формальном языке, а с другой стороны программисты должны по этому намалёванному непотребию потом делать что-то работающее. Я прямо отсюда слышу их матюки.
А то. Ад как он есть. Тем не менее, подозрительно популярная тема: bpmn/bpel таки продаются за большие бабки, MS в своем шарепоинте тоже предписывает всем срочно садиться рисовать согласование документов в визио.

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

Ну и тут вот еще из геймдева примеры приводились.

Во всех этих примерах, правда, на верхнем уровне находится нечто более сложное, чем просто блок-схема, там получается набор точек входа, отвечающих за разные возможные внешние воздействия. Осталось понять, есть ли что-то подобное в драконе. Тут, я думаю, у нас ничего не выйдет, потому что автор темы — очевидный (зеленый) андроид, отвечает исключительно копипастой из книг.
Re[17]: Язык ДРАКОН — новая идея в программировании
От: Cyberax Марс  
Дата: 28.05.12 14:43
Оценка: -1 :)
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Справка

ВП> ПРИМЕНЕНИЕ ЯЗЫКА ДРАКОН В РАКЕТНО-КОСМИЧЕСКОЙ ОТРАСЛИ
Не верю. Попрошу ссылку, скажем, с сайта РКК "Энергия" о том, где конкретно используется ДРАКОН.

А то я тоже много чего написать могу.
Sapienti sat!
Re[17]: Язык ДРАКОН — новая идея в программировании
От: koodeer  
Дата: 28.05.12 14:57
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Справка


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


<skipped>

Приведите, пожалуйста, доказательства. Скажем, ссылки на официальные сайты упомянутых организаций, где будет написано, что ими применяется Дракон.
Re[11]: Язык ДРАКОН — новая идея в программировании
От: elmal  
Дата: 28.05.12 15:04
Оценка:
Здравствуйте, Владимир Паронджанов, Вы писали:

ВП>Вы совершенно правы, на простых алгоритмах дракон не дает выигрыша.

ВП>Но в сложных случаях дело обстоит иначе.
Кстати о сложных случаях. Со всей этой декомпозицией мы забыли спросить одну интересную вещь — а как делается обработка ошибок? Я не увидел обработки ошибок ни на одной из диаграмм. Итак, предположим мы пишем софт управления атомной станцией. И хотим следующее — чтобы в случае абсолютно любых ошибочных ситуаций заглушать реактор. Это настолько важно, что это все требуется на на диаграмме верхнего уровня! Что любая непредвиденная ситуация — заглушаем реактор. Эта любая непредвиденная ситуация может вылететь откуда угодно из нижестоящего сабалгоритма. То есть интересует в языке такая полезная вещь, как исключения. Итого — как это будет на Драконе? Я приблизительно догадываюсь, что на главной диаграмме сверху будет состояние ошибка, в которую мы можем переходить из других состояний. Но ... любой прямоугольничек может у нас выкинуть исключение. Даже функция проверки условия может выкинуть исключение (предположим, там датчик какой оказывается неисправным). Как будем поступать? Более того, обработчик ошибки очень интересуется деталями, в зависимости от того, что за ошибка, он захочет принять решение, стопать ли реактор или нет, или попытаться переключиться на резервный контур и проверить все еще раз. Как будет выглядить алгоритм в этом случае? Что то мне подсказывает, что будет очень неслабое усложнение схемы на ровном месте. И если исключения поддерживаются — очень интересует, как будет генерироваться программа на фортране, где на момент последнего с ним знакомства исключениями и не пахло?
Re[24]: Язык ДРАКОН — новая идея в программировании
От: vdimas Россия  
Дата: 28.05.12 15:17
Оценка: -1 :)
Здравствуйте, WolfHound, Вы писали:

V>>Эта "махинация" позволяет составлять запросы даже тем, кто плохо владеет языком SQL

WH>И где тут SQL?
WH>Может хватить прыгать по темам.
WH>Или сказать совсем нечего?

Ты спросил об SQL, я напомнил.

V>>или только начинает его изучать. Я наблюдал как девочки оперативно накидывали в MS Access полезные запросы в графике буквально на 2-3-й день его изучения, не зная языка SQL.

WH>А я видел девочек которые на С++ пишут лучше многих тут присутствующих.

Твоя фраза ничего не подтверждает, а моя подтверждает, что в 100% наблюдений за одним и тем же сценарием видно, что людям удобней было начать знакомиться с языком SQL через его графическое отображение в дизайнере запросов.

V>>И видел, как они постепенно изучали тем самым этот SQL до приемлимого уровня, видя во что именно преобразуется графическое представление.

WH>А с чего ты взял, что за те же 2-3 дня они бы SQL не осилили?

Потому что было показано как переключаться в SQL и как опльзоваться справкой, по SQL в т.ч. Не получается за 2-3 дня выдавать правильно работающие запросы. Зато переключают в MS Access из текста в режим дизайна и моментально находят ошибки.

Не боись, именно языку SQL и учил, бо возможности дизайнера в MS Access ограничены. С 0-ля — это месяцы, чтобы полноценно пользоваться SQL, и то только у двух получалось. Остальные дальше графики не прошли. Так что, я наблюдал тот самый "порог вхождения" воочию.

И ты вообще неправильно рассуждаешь изначально, меряя всех под одну гребенку. Я тоже пользовался дизайнером исключительно для того, чтобы без ошибок синтаксиса быстро накидать в запрос нужные таблицы и поля из них, потом переключался в текст и формулировал, что мне там надо. Это потому что до знакомства с Access я неплохо знал SQL и владел реляционной алгеброй. Т.е. всего рассказанного я бы так и не узнал, если бы не наблюдал затем лично за теми, кто не знал SQL. И вот тут эффект от дизайнера запросов был, я не побоюсь этого слова, потрясающий. Я аж проникся.


WH>>>Например, чтобы понять, что else-if может повторяться 0 или более раз нужно распутывать клубок стрелок.

V>>Это в любом случае надо понять, даже в виде БНФ или любой другой нотации.
WH>Сравнил блин.
WH>В нормальной нотации нужно запомнить всего один оператор.

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


WH>Кстати как в твоей графике будет выглядеть запись того что правило нужно повторить от 5 до 10 раз?


А бывают такие правила?
В БНФ подобное делается через иерархическое выражение одних правил через другие. Т.е. Повторить8 может быть определено через Повторить7 и целевое тело.


V>>Ну и ок. Т.е. мы согласны обсуждать только Немерле, а на остальное плевать. На том и порешим.

WH>Причем тут немерле? Совсем аргументов нет?

На "мне плевать на IBM"? Ес-но нет и не будет. Не понравился пример — я не при чем.


V>>Да пообщался я с вами в той фейерической ветке про БНФ. Поржал, спасибо. Редкостная каша в голове.

WH>Сказал адепт секты, которая, не смотря на свою многочисленность, за 50 лет не смогла создать ни одного алгоритма годного для промышленного применения.

Алгоритмов море, бери любой. Странной была попытка взять один из алгоритмов и претендовать с ним на универсальность. Это же просто язык описания работы конкретного низлежащего автомата разбора. Пусть даже очень хорошего автомата, но конкретного. Какая тут нафик универсальность? Именно необходимость объяснять это и повеселила.
Re[25]: Язык ДРАКОН — новая идея в программировании