Re[4]: Язык ДРАКОН — новая идея в программировании
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.06.12 07:30
Оценка: +3
Здравствуйте, grosborn, Вы писали:

G>Если сравнивать эти два случая, то для целей программирования дракон, как пример читаемой записи, в таком сравнении практичнее.


удивлен и озадачен

Если честно, если бы не знал квиксорт, то в дракон схеме его бы не узнал и не прочитал.
Re[4]: Язык ДРАКОН — новая идея в программировании
От: BrainSlug Израиль  
Дата: 18.06.12 07:36
Оценка: +3
все таки повторю свое мнение, — в данном случае Дракон никакой не язык. Язык здесь Python, а Дракон просто средство визуализации исполнения питоновского скрипта. Для человека, который знает Python — это блок схема с практической точки зрения почти не имеет пользы, но и для человека не знакомого с Python-ом, но знакомого с Драконом, точно также вряд ли схема будет иметь практическую ценность. Представляется мне для обучения такие вещи удобны, для повседневной жизни, вряд ли.
.
Re[5]: Язык ДРАКОН — новая идея в программировании
От: grosborn  
Дата: 18.06.12 07:36
Оценка: +2
> G>Если сравнивать эти два случая, то для целей программирования дракон, как пример читаемой записи, в таком сравнении практичнее.
>
> удивлен и озадачен
>
> Если честно, если бы не знал квиксорт, то в дракон схеме его бы не узнал и не прочитал.

Я к тому, что хаскель без комментариев это код с которым невозможно совместно работать. Его специально нужно делать читаемым. Хотя я даже сомневаюсь что это возможно. Почти так же как регулярки. Регулярки вообще крайний случай нечитабельности.
Когда пишешь для себя и опупеваешь от субственной крутизны, это одно. Когда пишешь в команде, это другое. Когда еще и приемка кода есть сторонними лицами, то хаскель думаю неприемлем вообще.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:38
Оценка:
СМ>

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

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


СМ>Дракон предназначен только для представления алгоритмов.

СМ>Всё остальное: модель данных, иерархия наследования, уровни абстракции — делается в обычном порядке средствами вашего любимого языка программирования.

Только вот как только язык не ложится на Дракон, возникают проблемы (см. Erlang)

СМ>Для проектирования статической структуры программы используются другие виды диаграмм: сущность-связь, диаграмма классов, диаграмма компонентов и прочая.


СМ>Что касается декомпозиции алгоритмов.

СМ>Дракон даёт дополнительный способ декомпозиции в дополнение к обычному вызову подпрограмм.
СМ>Это так называемый "силуэт". Он разбивает алгоритм на логические части, что позволяет избежать необходимости лишний раз создавать подпрограммы.

Помимо блок схем есть, например, UML


dmitriid.comGitHubLinkedIn
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:39
Оценка:
СМ>2. У Дракона есть дополнительные правила, цель которых — сделать диаграмму более предсказуемой и читаемой.
СМ>Каждое из этих правил имеет объективное обоснование.
СМ>Например, строгий запрет пересечения линий нужен, чтобы картинка не превратилась в кашу.

Что приводит к проблемам. http://forum.oberoncore.ru/viewtopic.php?f=78&t=3184


dmitriid.comGitHubLinkedIn
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:42
Оценка:
СМ>Быстрая сортировка: http://upload.wikimedia.org/wikipedia/commons/f/fd/Quicksort_in_DRAKON-Python.png

Пр обыструю сортировку я уже задавал вопрос:

Сразу вопрос. В recurse должны поступать, соответственно, left и right из partition. Где эта передача? Из диаграммы она совершенно никак не следует



dmitriid.comGitHubLinkedIn
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:44
Оценка: +1
СМ>Шансов объяснить ему это всё в течение суток нет. Даю ему Дракон-схемы и через 30 минут получаю "зачøт". Немец всё понял, а ведь он Дракона-то и не видел никогда.
СМ>После этого, водя пальцем по линиям и квадратиком, набросал юнит-тесты. И уже потом написал основной код и спокойно лёг спать.
СМ>Результат — всё работает.

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


dmitriid.comGitHubLinkedIn
Re[6]: Язык ДРАКОН — новая идея в программировании
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.06.12 07:46
Оценка:
Здравствуйте, grosborn, Вы писали:

>> G>Если сравнивать эти два случая, то для целей программирования дракон, как пример читаемой записи, в таком сравнении практичнее.

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

G>Я к тому, что хаскель без комментариев это код с которым невозможно совместно работать. Его специально нужно делать читаемым. Хотя я даже сомневаюсь что это возможно. Почти так же как регулярки. Регулярки вообще крайний случай нечитабельности.

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

G>Когда пишешь для себя и опупеваешь от субственной крутизны, это одно. Когда пишешь в команде, это другое. Когда еще и приемка кода есть сторонними лицами, то хаскель думаю неприемлем вообще.

Если сторонние лица знакомы с программированием по бейсику, то конечно.
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:55
Оценка: +1
СМ>Я тоже печатаю быстрее, чем рисую. Но программы редко пишут, да часто читают. Дракон облегчает именно чтение и понимание.
СМ>Рисовать сложнее хотя бы потому, что в Дракон-диаграмму надо закладывать дополнительную информацию, которая не является необходимой для выполнения.
СМ>Но зато эта информация очень помогает чтению, поэтому дополнительные усилия окупаются.


На это я тоже уже отвечал:

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

— Диаграммы не помещаются на экране (даже при zoom out)
— Взаимодействие между отдельными функциями (типа bad_case/foreach_current/и т.п. во всяких cs.drn и т.п.) непонятно (может они вызываются откуда-то извне? неизвестно).
— они достаточно низкоуровневы, чтобы без комментариев разобраться было уже невозможно:
Код:

set found_keywords [ gen_cpp::find_keywords $first $keywords ]
set alien_keywords [ gen_cpp::find_not_belonging $first $keywords ]



— местами это по сути псевдокод, только в визуальном обрамлении (например, alt_edit.drn -> shadow), то есть от визуальности он не выигрывает вообще ничего. В частности, для диаграмм типа alt_edit.drn -> update, если использовать паттерн матчинг (Haskell, Erlang, Nemerle), то даже текстовая запись будет не менее, а то и более наглядна



СМ>

СМ>Прогрессивный мир нынче смотрит на: метапрограммирование, зависимые типы, typesets, proof-carrying code. Крайне интересны исследования в области total functional programming.


СМ>Многое из перечисленного выше отлично работает вместе с Драконом. То же функциональное программирование, отлично сочетается с Драконом (ДРАКОН-Эрланг например).


НИфига он там не сочетается. Цитирую:

2. Перегрузка функций (наличие нескольких функций с одним именем) запрещены в DRAKON Editor'е по
политическим мотивам.
3. Ветвление логики делается только стандартными средствами Дракона, pattern matching (case of, when) для этого не используется.


На драконе даже алгоритмы с ФВП записать не удастся


dmitriid.comGitHubLinkedIn
Re[2]: Ну и PS
От: Mamut Швеция http://dmitriid.com
Дата: 18.06.12 07:58
Оценка: +1
P.S. Ветку с вопросами на oberoncore закрыли (потому что кому нафиг нужны неудобные вопросы?)

Поэтому будет хорошо, если вопросы, задаваемые тут, на oberoncore транслировал кто-то из участников того форума. Так что, Степан, просьба перезадать некоторые из вопросов, которые возниктнут тут, на oberoncore


dmitriid.comGitHubLinkedIn
Re: Язык ДРАКОН — новая идея в программировании
От: Figaro Россия  
Дата: 19.06.12 00:57
Оценка:
[skipped]

Здравствуйте Степан...

А Вам это не напоминает мертворожденное дитятё? Хотя согласен применимо в узконаправленных областях, тьфу о мертвых плохо не говорят, но вся это схоластика, даж боюсь эт слово дурное — DSL употребить.... Может проще использовать SVG? И портабилити, ну и мало ли у кого руки под что заточены... Эт так комментарий, не ради флэйма...
avalon 1.0rc3 build 428, zlib 1.2.5
Re[2]: Язык ДРАКОН — новая идея в программировании
От: Владимир Паронджанов Россия http://drakon.su/ Форумы сайта http://forum.drakon.su
Дата: 19.06.12 15:36
Оценка: :)
Уважаемые коллеги!

Отличительной особенностью языка ДРАКОН является графический синтаксис.

Ниже дано формальное описание графического синтаксиса.
Но перед этим описан дракон-конструктор (дракон-редактор).
http://files.rsdn.ru/100994/%d0%a7%d0%b0%d1%81%d1%82%d1%8c%206.%20393-424%20%d0%9a%d0%be%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%ba%d1%82%d0%be%d1%80%20%d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc%d0%be%d0%b2%20%d0%b8%20%d1%84%d0%be%d1%80%d0%bc%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5%20%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd%d0%b8%d0%b5.pdf
С уважением В. Паронджанов
Re: Язык ДРАКОН — новая идея в программировании
От: Аноним931 Германия  
Дата: 21.06.12 11:35
Оценка: +1
Владимир, а чем эта идея новая?
Алгоритмические схемы существуют уже очень давно, в десятках известных и тысячах менее известных вариантах.
Связки графического представления с конкретными языками / рантаймом — тоже.
Даже если принять, что ДРАКОНовская реализация превосходит все остальные — что нового-то в этой "идее"?

Уже после прочтения заголовка темы Вас мало кто воспринимает всерьез.
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Re: "ДРАКОН" от Гугла
От: PSV100  
Дата: 21.06.12 13:39
Оценка: 8 (2) +1
Blockly — новый графический язык от гугла. На OpenNet есть небольшое описание. Разработка, вроде как, задумывается для реального применения. Вместо блок-схем используются блоки как в пазлах, выглядит гламурно:



Был бы интересен симбиоз направленного графа ДРАКОН-а и этих "пазлов"...
Re[2]: "ДРАКОН" от Гугла
От: FR  
Дата: 21.06.12 16:24
Оценка: 53 (4)
Здравствуйте, PSV100, Вы писали:

PSV>Blockly — новый графический язык от гугла. На OpenNet есть небольшое описание.


В обсуждении на OpenNet наткнулся на ссылку на конкурента (в прямом смысле создан в 70 — 80 в СССР и
тоже использовался ракетчиками ) Р-технологии

На первый взгляд и судя по схемам здесь http://glushkov.org/?page_id=59



гораздо нагляднее (во всяком случае для программиста) Дракона.
Re[3]: "ДРАКОН" от Гугла
От: Privalov  
Дата: 21.06.12 20:06
Оценка: 26 (2)
Здравствуйте, FR, Вы писали:

FR>В обсуждении на OpenNet наткнулся на ссылку на конкурента (в прямом смысле создан в 70 — 80 в СССР и

FR>тоже использовался ракетчиками ) Р-технологии

А я все никак не мог вспомнить, пока читал тему, как эта технология называется. Боюсь наврать, эксперименты на ЕС ЭВМ проводились с Фортраном, PL/1 и, возможно, Ассемблером. Я даже распечатки таких схем видел с кодом внутри. Ну не было там графических дисплеев. Я не знаю, как вводились эти схемы.
Языки, если не вру, назывались графический Фортран, графический PL/1. Google по запросу "графический Фортран" привел к Графору, который, имея прямое отношение как к Фортрану, так и к графике, никак не связан с темой обсуждения. Вот я ничего и не нашел.
Интересно, те, кто постарше, например, LaptevVV, в курсе, что там происходило и есть ли этому какое-нибудь развитие? Использовалась ли эта Р-технология промышленно?
Re[2]: "ДРАКОН" от Гугла
От: elmal  
Дата: 22.06.12 15:11
Оценка: +1
Здравствуйте, PSV100, Вы писали:

PSV>Blockly — новый графический язык от гугла. На OpenNet есть небольшое описание. Разработка, вроде как, задумывается для реального применения. Вместо блок-схем используются блоки как в пазлах, выглядит гламурно:

Тот же Scratch, только не надо ничего скачивать. ИМХО для детей только. Либо для обучения на первых курсах, после чего про него забываем, как страшный сон.
Никто в здравом уме такие языки для промышленного применения использовать не будет. Хоть это будет трижды гугол — если будут пытаться на это пересадить программистов реальных, ничего у них не выйдет. Если попробовать посадить непрограммистов — попробовать конечно можно, в теории может и получиться, но я как то сомневаюсь, что получится даже у гугла. В лучшем случае кончится тем же, что и всегда — непрограммисты на этом ужасе черти что наваяют, логика разрастется до неприличных размеров, все будет черти как запутанно, что сам черт голову сломит, и далее за бешенные деньги этот ужас посадят разгребать программистов, которые будут долго и сильно материться.
Re[3]: "ДРАКОН" от Гугла
От: PSV100  
Дата: 22.06.12 15:26
Оценка: 26 (2)
Здравствуйте, FR, Вы писали:

FR>В обсуждении на OpenNet наткнулся на ссылку на конкурента (в прямом смысле создан в 70 — 80 в СССР и

FR>тоже использовался ракетчиками ) Р-технологии

FR>На первый взгляд и судя по схемам здесь http://glushkov.org/?page_id=59

FR>гораздо нагляднее (во всяком случае для программиста) Дракона.

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

Сейчас немного посмотрел на Р-технологию. Что понравилось на фоне Дракона:

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

— схемы, в основном, "продвигаются" слева-направо, что удобно при альбомной ориентации, особенно при широкоформатных мониторах;

— Р-графы лучше приспособлены для ветвления, особенно при множественном выборе. Имхо, также здесь возможно проще изобразить паттерн-матчинг;

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

Короче говоря, очевидно, что графы РТ задумывались как замена блок-схемам, и на первый взгляд не плохая. В инете очень мало информации о проекте (здесь пару слов про Р-технологию, здесь можно прочитать дифирамбы для неё). Жаль нет толкового сравнения с Драконом, реально интересно и мнение Владимира Даниловича.
Re[4]: "ДРАКОН" от Гугла
От: FR  
Дата: 22.06.12 15:35
Оценка:
Здравствуйте, PSV100, Вы писали:

PSV>Короче говоря, очевидно, что графы РТ задумывались как замена блок-схемам, и на первый взгляд не плохая. В инете очень мало информации о проекте (здесь пару слов про Р-технологию, здесь можно прочитать дифирамбы для неё). Жаль нет толкового сравнения с Драконом, реально интересно и мнение Владимира Даниловича.


Тут есть редактор http://glushkov.org/?page_id=64
и интерпретатор http://glushkov.org/?page_id=272 (с QtScript в качестве текста).
Re[3]: "ДРАКОН" от Гугла
От: PSV100  
Дата: 22.06.12 15:40
Оценка:
Здравствуйте, elmal, Вы писали:

PSV>>Blockly — новый графический язык от гугла. На OpenNet есть небольшое описание. Разработка, вроде как, задумывается для реального применения. Вместо блок-схем используются блоки как в пазлах, выглядит гламурно:


E>Тот же Scratch, только не надо ничего скачивать. ИМХО для детей только. Либо для обучения на первых курсах, после чего про него забываем, как страшный сон.

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

Гугловцы, вроде как, заявляют о применении языка для относительно небольших сценариев. Имхо, у них прицел на создание расширений для своих сервисов. Где-то говорилось, что есть пример создания фильтра писем для Gmail. Такие подходы вполне могут оправдать себя.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.