DRAKON.SU

Текущее время: Вторник, 19 Март, 2024 14:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
СообщениеДобавлено: Суббота, 21 Июнь, 2014 13:23 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
http://erv-program.blogspot.ru/

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


Роман назвал свою программу DrakonGen (по-видимому дракон-генератор). Как я понял, разработка осталась не законченной
http://erv-program.blogspot.ru/2013/06/ ... -v013.html
http://erv-program.blogspot.ru/

SRS v.05.6 Пробное использование DrakonGen-а
http://erv-games.blogspot.ru/2013/06/blog-post.html

Чем дело кончилось, непонятно. После даты Saturday, November 23, 2013 я не смог ничего найти.

===========================

Материал взят из сообщения Геннадия Тышова
viewtopic.php?p=88015#p88015


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Июнь, 2014 08:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Я оставил в блоге Романа комментарий. И в ответ получил следующее письмо:
Цитата:
Здравствуйте Владимир Даниелович!

В настоящее время разработка DrakonGen приостановлена, т.к. я пытался использовать его в создании игры http://erv-games.blogspot.ru, но пока работа над ней не ведется. Я давно уже являюсь сторонником визуальных методов разработки ПО, в частности много лет слежу за вашим Драконом. Обязательно, чуть позже, опишу опыт "общения" с Драконом письмом.

С искренним уважением,

Роман.

http://erv-program.blogspot.ru/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Июнь, 2014 08:54 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
http://eremeev.blogspot.ru/

Цитата:
Опять пишу генератор кода (DrakonGen) из граф.схем. Не менее интересное занятие, чем написание игрушки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Июнь, 2014 22:40 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Честно говоря, не согласен с автором этого генератора.

Уверен, что инструмент для схем должен быть именно специализированным. Чтобы не допускать отрисовки неверных диаграмм. Иными словами, аналогично семантическому текстовому редактору Лаптева, невозможно сделать "синтаксическую" ошибку при вводе схемы.

"Исчисление икон", в общем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Июль, 2014 13:28 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Роман Еремеев прислал мне еще одно письмо:
Цитата:
Здравствуйте, Владимир Даниелович!

Хочу ответить на ваш вопрос о DrakonGen чуть подробнее.

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

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

Удивительным образом, но блок-схемы сошли со сцены. Графические схемы широко применяются в описаниях структур баз данных (ER-диаграммы), при отображении сетевых топологий и т.д., но как ни странно, почти не используются для отображения алгоритмов. Я до сих пор до конца не понимаю в чём причина подобного положения. Ведь, казалось бы, разработка алгоритмов не менее сложная и важная часть создания ПО.

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

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

Именно поэтому, я с огромным уважением отношусь к работе Геннадия Тышова и Степана Митькина. Но про моё отношение к их работе, если у Вас, Владимир, есть интерес могу написать позже, я потратил некоторое время и ознакомился с их решениями в попытках применить в своей работе. К сожалению, все попытки оказались не вполне успешными, т.к. и в подходе Тышова и Митькина я обнаружил то, что не удовлетворило меня.

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

Изначально я не думал использовать Дракон-схемы, но когда дошел до достаточно сложной части, так называемого AI ( искусственного интеллекта) игры, сложность алгоритмической части резко возросла и в этот момент появилась идея использовать Дракон.

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

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

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

Недостатки и преимущества данного подхода очевидны.

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

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

Недостатки существенны, но, по-моему, подобный подход имеет право на существование. Хотя бы в качестве эксперимента.

В настоящее время я не развиваю DrakonGen, в силу того, что отложил разработку игрушки.

Вот так обстоят дела, Владимир Даниелович.

С искренним уважением,

Роман.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Сентябрь, 2014 09:50 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Я получил новое письмо от Романа Владимировича Еремеева. Он добился замечательных успехов.

Это восхитительное письмо. Сначала Роман зашел в тупик и решил бросить работу над Драконом. Но затем — Эврика! — ему в голову пришла неожиданная мысль...

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

Письмо Романа я выложу в следующем сообщении.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Сентябрь, 2014 10:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
ВОСХИТИТЕЛЬНОЕ ПИСЬМО РОМАНА ЕРЕМЕЕВА

Цитата:
Владимир Даниэлович, прошу прощения за то, что долго не отвечал.

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

ПРОГРАММЫ СТЕПАНА МИТЬКИНА
И ГЕННАДИЯ ТЫШОВА


Собственно, вряд-ли я могу добавить что-то новое на эту тему. Уверен, обе программы обсуждены умными людьми на форумах тысячу раз и разобраны все их нюансы.

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

МНЕ ОЧЕНЬ НРАВИТСЯ,
ЧТО ОБЕ ПРОГРАММЫ РАЗВИВАЮТСЯ

Наверное, немного плохо, что Геннадий Тышнов держит код закрытым, но, как бы, имеет на то полное право.

Прекрасно, что Степан Митькин работает под лицензией public domain, и, насколько я понял, у него уже есть соратники. Еще более замечательно, что Степан пишет свой ДраконЕдитор (используя язык Дракон и сам же ДраконЕдитор. Подобный подход кроме уважения ничего не может вызвать.

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

Когда же привыкаешь, вполне даже удобно. И, по большому счёту, по-моему, всё у них, и у первой и у второй IDE более чем хорошо и отличные перспективы.

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

БОЛЬШОЕ РАЗОЧАРОВАНИЕ

Собственно, почему, Владимир, я так задержался с ответом. Дело в том, что Ваше письмо побудило меня вновь вернуться к работе над моей программой DrakonGen (DG).

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


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


В чём, собственно, для меня заключается идея визуального программирования вообще и использование Дракона для кодогенерации, в частности?

Во-первых, это уменьшение сложности понимания, восприятия программ, редуцирование её на порядки (и никак не меньше).

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

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

Я ПРЕКРАТИЛ РАБОТУ, НЕ ПОДОЗРЕВАЯ,
ЧТО ДО ПОБЕДЫ ОСТАВАЛСЯ
ВСЕГО ОДИН ШАГ


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

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

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

МОЗГИ НАИЗНАНКУ

А тут-то ради чего мозги выворачивать наизнанку? :) Если программирование не приносит удовольствия, то ну его нафиг, такое программирование. :)

Моя программа DG к тому времени была уже почти готова (по крайней мере, с тех пор, я добавил туда только иконку выбора и всё). Часть алгоритма программы была выражена в языке Дракон и несколько важных классов генерились из него.

ДВЕ СРЕДЫ

Но это никак не облегчило мне жизнь. Я застрял между двух сред:
— средой разработки кода и
— средой рисования графов.

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


КАК СКРЕСТИТЬ УЖА С ЕЖОМ?

Однако, попытаться совокупить "ужа" с "ежом" мог придумать только идиот.

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

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

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

ЖЕСТОКАЯ ОШИБКА

Но главное даже не в этом, а в том, что я сам застрял между двух уровней!

Оба уровня я считал равноправными. Скорее, нижний уровень, по привычке, я полагал более главным, так как верхнему не вполне доверял.
А это была ошибка!

И ещё одно очень большое заблуждение тогда мне портило жизнь — это мысль, что ещё чертову кучу кода нужно переносить на верхний уровень и разрисовывать в диаграммы. О-ла-ла! Та ещё работка!

И, вполне закономерно, пришло разочарование.

РАЗОЧАРОВАНИЕ И БРЕД СИВОЙ КОБЫЛЫ

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

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

СЕГОДНЯ Я ТАК НЕ ДУМАЮ

А сегодня я так не думаю. Сегодня я поступил так:

— перенес несколько недостающих важных кусочков на верхний уровень. После этого в мозгах многое встало своё место.

— очень быстро и просто перестроил весь алгоритм.

— понял, что вовсе не нужно и даже очень вредно разрисовывать весь код в виде диаграмм. Значительные его объемы инкапсулируются (используем это красивое слово) в маленьких квадратиках и не мешают глазам и мозгу.

— выбрал, назначил, навеки установил главным уровнем — верхний! И это, наверное, самое важное.

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

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

ЧТО В РЕЗУЛЬТАТЕ?
НЕУЖЕЛИ Я ПРОЗРЕЛ?


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

Я больше не боюсь своего кода. Я обрёл зрение. Я прозрел и больше не шарю руками в темноте по бесконечным логическим переходам, по всяким многомерным ифам и элсе (if и else).

И ещё. Я пришел к заключению, что идея работы на двух уровнях, использование двух независимых сред, не только имеет право на жизнь, но и при всех очевидных недостатках, имеет очень значительные преимущества.

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

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

С искренним уважением,
Роман.

Господа программисты!

Прошу поделиться мыслями на эту тему. Высказать свои суждения и критические замечания.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Сентябрь, 2014 20:38 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
За общими впечатлениями хотелось бы увидеть конкретику (как оно там конкретно сделано). А так - в принципе, ожидаемые вещи сказаны.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 10:15 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Огромная просьба к Роману:
ну хоть какой-нибудь примерчик привести.
Интересно же!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 20:45 

Зарегистрирован: Понедельник, 29 Сентябрь, 2014 20:21
Сообщения: 2
Добрый день, Степан!

Ответил письмом. Если честно, не совсем понимаю в каком виде примерчик? Схему graphml? Коды генератора? Без проблем. Всё что угодно. Могу прислать. Только должен предупредить, что это всё черновики, наброски, обрывки мыслей(пусть и выраженные в графах и коде). Прошу понять меня правильно, всё это чистой воды экспериментаторство, исследования вокруг да около темы Дракона. И я не придерживаюсь ни каких "моральных" принципов)), и в любой момент могу всё поломать,поменять. Я пытаюсь понять для себя, - в принципе, визуальное программирование возможно или это фикция, мираж? То, что это работает на околоаппаратном уровне, не вызывает сомнения, а вот для языков высокого уровня как? Я пока не знаю для себя ответа. Пытаюсь найти. И, опять же, признаюсь, делаю это ради любопытства, несерьёзно. От этого так мне неловко читать лестные слова от Владимира Даниэлевича.
Кстати, как выглядят картинки есть у меня в блоге:
http://erv-program.blogspot.ru

Роман.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 21 Ноябрь, 2014 14:58 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Неделю назад произошло совещание с Романом Владимировичем Еремеевым. Обсуждалась проблема создания дракон-конструктора. Выявилось совпадение точек зрения относительно принципов построения дракон-конструктора (с учетом опыта развития известных графических редакторов).

Цитирую блог Романа Владимировича
http://erv-program.blogspot.ru/
Цитата:
Thursday, November 20, 2014

Страсти по редактору

            "Мышки плакали, кололись, но продолжали есть кактусы".
            (вообще-то, это анекдот, да только не в моём случае)


Специализированный дракон-редактор конечно же нужен, что уж там говорить.

Пользоваться внешним, всё равно, что жить на съемной квартире, вроде всё удобно и хорошо, а чужое, это нельзя, сюда не ходи, лишний гвоздь не вбить.

Однако, качественный редактор написать с нуля нереально. Пока смотрю в сторону проекта Eclipse-GEF, кажется, на его основе можно собрать более-менее стоящую вещь за приемлемый срок. Там много чего уже есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 21 Ноябрь, 2014 21:52 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
План работы Романа Владимировича Еремеева

Я посмотрел, какая книга у Романа в загашнике:
http://dns.uls.cl/~ej/web_Elect_2012/Le ... lkit.(2009),.1Ed.[0321534077].pdf
Цитата:
Eclipse Modeling Project

A Domain-Specific Language Toolkit

Richard C. Gronback


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 22 Ноябрь, 2014 22:16 

Зарегистрирован: Понедельник, 29 Сентябрь, 2014 20:21
Сообщения: 2
Приветствую всех. Коллеги, если что, то я не имел в виду полноценный дракон-редактор, разве что в отдаленной перспективе. Уверен, те что есть будут активно развиваться и что появятся новые.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 01 Июнь, 2017 08:23 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
DrakonGen до сих пор жив
http://erv-program.blogspot.ru

Saturday, May 27, 2017
Цитата:
Попробовал Драконген для подготовки скрипов к семинару.

Доволен более чем.
https://youtu.be/Myg8hYJ1xFo

Появилось новшество:
у икон имеется внизу справа маленький квадратик для размещения сопровождающих текстов.

Использован опыт ИС Дракон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 22 Август, 2017 16:16 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
http://erv-program.blogspot.ru от Saturday, August 12, 2017
Новый проект.

Цитата:
фиг знает как бы я это без Дракона развивал


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB