DRAKON.SU
https://forum.drakon.su/

Икона "Вставка" - обсуждение терминологии, изменений
https://forum.drakon.su/viewtopic.php?f=170&t=1554
Страница 1 из 4

Автор:  Рэйлвэй Каген [ Суббота, 02 Май, 2009 15:21 ]
Заголовок сообщения:  Икона "Вставка" - обсуждение терминологии, изменений

Модератор: перенесено. Инициирующее сообщение: viewtopic.php?p=28884#p28884

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

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

p.s.: вот засада, придётся хелпы разные составлять.

Автор:  ==== [ Суббота, 02 Май, 2009 16:02 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Рэйлвэй Каген, вы и В.Д. Паронджанов обсуждали икону "Вставка" здесь. Учитывая это обсуждение, мною сделана попытка устранить неопределенность реализации в и.с. DRAKON.

Сообщение о различии в и.с. DRAKON и в языке ДРАКОН приведено (с аргументацией) в справке в отдельном разделе.

Для меня важно мнение специалистов.

Автор:  Рэйлвэй Каген [ Суббота, 02 Май, 2009 16:11 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Это обсуждение слегка "провисло", т.к. не завершилось выделением сущностей.
Я говорил о трёх:
1.процедура
2.функция.
3.повторное использование(без вызова).

Владимир Даниелович предложил воспользоваться ГОСТом.

Автор:  dvuugl [ Суббота, 02 Май, 2009 17:48 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

В драконографии похоже проявился "ревизионистский правый уклон"- загнать дракона обратно в программирование откуда он вылупился, выражающееся в злобных попытках пересмотра терминов. В расчёте что "курочка по зёрнышку клюёт". Ужос. :)
Возможно это связано с отсутствием сильных примеров из других областей (может быть по причине отсутствия самих областей :( , но это другая тема..). И попытки пиара направлены в основном в программирование.
Вставка- понятие с большим объёмом чем процедура. Жалко вставку.. Но раз пошла такая пьянка. Есть левый и правый комментарий, а параметры со значком ">" только правые. Опять правый уклон ). Нужны, наверное, и левые. Чтобы параметры были входные и выходные.

Автор:  ==== [ Суббота, 02 Май, 2009 18:02 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

dvuugl писал(а):
Вставка- понятие с большим объёмом чем процедура. Жалко вставку..
Вставка - термин неопределенный, а процедура - термин знакомый с детства: медицинская процедура т.е. выполнение предписанного.
По поводу левых и правых параметров я помню, но имею большие сомнения. В практике они пишутся одним списком, имеют большое разнообразие по назначению и поясняются ключевыми словами при объявлении.

Автор:  Владимир Паронджанов [ Суббота, 02 Май, 2009 18:51 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Рэйлвэй Каген писал(а):
Это обсуждение слегка "провисло", т.к. не завершилось выделением сущностей.
Я говорил о трёх:
1.процедура
2.функция.
3.повторное использование(без вызова).

Владимир Даниелович предложил воспользоваться ГОСТом.


Моя ссылка на ГОСТ не играет существенной роли.

Я считаю важным вот что. Рэйлвэй Каген сделал самый крупный проект (из числа тех, про которые шла речь на этом форуме) с использованием редактора Геннадия Тышова.

Следовательно, именно Рэйлвэй Каген обладает наибольшим практическим опытом в этой области. Опираясь на этот опыт, Рэйлвэй Каген пришел к выводу о целесообразности иметь три сущности:
1.процедура
2.функция.
3.повторное использование(без вызова).

Мне кажется, надо согласиться с мнением Рэйлвэй Каген (поскольку он самый опытный). И создать предложенные им три сущности. Последнюю сущность, то есть повторное использование(без вызова) можно назвать вставкой.

Геннадий Тышов пишет, что "Вставка - термин неопределенный".
Это правда. У меня вставка была неопределенным термином.
Но, как я понимаю, сейчас ситуация изменилась. Рэйлвэй Каген дал определение этому термину. Если данное определение будет подвергнуто критике, мне кажется, Рэйлвэй Каген без труда сможет дать более строгое и развернутое определение.

Как графически изобразить три сущности, предложенные Рэйлвэем Каген?
В качестве одного из вариантов для обсуждения могу предложить следующее
1.процедура изображается прямоугольником с 4 вертикальными линиями (как бывшая вставка, то есть по ГОСТу).

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

3.вставка [повторное использование(без вызова)] изображается прямоугольником с 6 вертикальными линиями (по три с каждой стороны)

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

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

В общем, моя позиция такова. Как решит сообщество, так и будет правильно.

Автор:  ==== [ Суббота, 02 Май, 2009 19:09 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Владимир Паронджанов писал(а):
Следовательно, именно Рэйлвэй Каген обладает наибольшим практическим опытом в этой области. Опираясь на этот опыт, Рэйлвэй Каген пришел к выводу о целесообразности иметь три сущности:
1.процедура
2.функция.
3.повторное использование(без вызова).

3.повторное использование(без вызова). Что это такое?

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

Автор:  dvuugl [ Суббота, 02 Май, 2009 21:49 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Вставка, как понимаю, это нечто описанное в другом месте (это м.б. другой примитив, силуэт) без конкретизации что это и где. Самое абстрактное. Для системы силуэтов/примитивов.

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

Вложения:
proc.png
proc.png [ 7.66 КБ | Просмотров: 23034 ]

Автор:  Илья Ермаков [ Суббота, 02 Май, 2009 21:51 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Я - за сохранение вставки. Полностью поддерживаю Рэйлвэй Кагена.
Понятие "повторное использование" - нужно. Это действительно не вызов (пример из электроники - разница между коммутацией с соседним модулем, "вызовом"; и использованием при проектировании устройства того или другого элемента в схеме).

По поводу возвратов - коллеги, очень это пока... преждевременно... Усложнение.

Автор:  Madzi [ Суббота, 02 Май, 2009 22:06 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

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

Вложения:
Комментарий к файлу: Пример использования
proc1.jpg
proc1.jpg [ 8.21 КБ | Просмотров: 23146 ]
Комментарий к файлу: Элемент процедура
proc.jpg
proc.jpg [ 5.02 КБ | Просмотров: 23150 ]

Автор:  ==== [ Воскресенье, 03 Май, 2009 04:30 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

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

Только сейчас до меня дошел смысл проблемы, здесь вами описанной. В мелких контролерах нет ОЗУ (оперативного запоминающего устройства), имеется только ПЗУ (постоянное запоминающее устройство) для программного кода и надо сократить глубину использования аппаратного стека. Отсюда и ваша терминология: повторное использование(без вызова).

Это частный, технический вопрос конкретного применения и конкретного устройства. Решение этого вопроса никак не связано с терминологией, технология сборки текста в и.с. Drakon не меняется.

В алгоритмизации, в понимании не специалистов, этой проблемы нет.

В языке Дракон применение термина "Вставка" было ограничено операциями “Вырезать вставку”, ”Вставить вставку” и связано со схемой "Примитив". Восприятие иконы "Вставка" как процедуры, требовало усилия для смены смысла. В и.с. Drakon отказались от этих ограничений и предложено использовать общепринятый термин "Процедура" - предопределенное действие. Более того, в и.с. в меню нет ввода иконы "Процедура", есть ввод иконы "Действие", и есть операция изменение вида иконы "Действие" / "Процедура". Операция изменения вида иконы отсутствует в языке, но изначально имеется в и.с. Drakon. Переход на термин "Процедура" имеет цель и позволит пользоваться единой общепринятой терминологией.

Автор:  Alexey_Donskoy [ Воскресенье, 03 Май, 2009 10:28 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

dvuugl писал(а):
Для одного силуэта где-то здесь предлагал иконы процедуры/функции и возврата...

Друзья, я, наверное, что-то пропустил? С какого такого бодуна процедура помещается внутри силуэта? Это что, Бейсик с номерами строк и вечным GOSUB?!

А если процедура должна быть глобальной (в силуэте - ясен пень - только локальные процедуры помещаются)?
Целесообразно ли делать такое различие локальной и глобальной процедуры?

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 10:57 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Да, я тоже сразу узнал GOSUB и испугался :)

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 10:59 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

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


По-моему, хорошо! Я сам тоже думал о вертикальном разделении входных и выходных параметров.
Полосатая вставка хорошо смотрится, подходит к действию.

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 11:02 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Геннадий Тышов писал(а):
В алгоритмизации, в понимании не специалистов, этой проблемы нет.


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

Автор:  Рэйлвэй Каген [ Воскресенье, 03 Май, 2009 11:08 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Геннадий Николаевич!
Позвольте не согласиться с Вами. Именно "повторное использование" является базовым механизмом в перечисленной выше тройке, поскольку позволяет определить производные сущности - процедуры и функции. Процедура и функция - лишь реализации этого механизма. Вы обратили внимание и безоговорочно отвергли лишь одну сторону "повторного использования", как сегодня принято называть - "в малом". Буквально представляющую собой прямое использование указанного участка маршрута в схеме. Без свойственных вызову процедур или функций действий(без пролога и эпилога).

"повторное использование" - терминология не моя. Достаточно набрать в яндексе или гугле. Можно попробовать также "reuse". Вдобавок бывает ещё и для данных. В объектно-ориентированных технологиях - сплошь и рядом.

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

Автор:  ==== [ Воскресенье, 03 Май, 2009 11:09 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

dvuugl писал(а):
Вставка, как понимаю, это нечто описанное в другом месте (это м.б. другой примитив, силуэт) без конкретизации что это и где. Самое абстрактное. Для системы силуэтов/примитивов.
В силуэте ветка процедура - это черезмерная абстракция. Далеко от оригинального языка Дракон, дети и не специалисты не поймут.

Автор:  Alexey_Donskoy [ Воскресенье, 03 Май, 2009 11:12 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Илья Ермаков писал(а):
Вопрос в том, нужна ли разница не специалистам.
1) Есть ещё случай свёртки (в смысле свернуть в один квадратик часть схемы). Соответственно уровням детализации. Это вообще никак не относится к коду, а только к визуальному представлению.

2) Нужен ли вообще шаблон как сущность? Имхо, вреда от него может быть больше, чем пользы. Тот же копипаст по сути.

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

Автор:  ==== [ Воскресенье, 03 Май, 2009 11:33 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

Илья Ермаков писал(а):
Геннадий Тышов писал(а):
В алгоритмизации, в понимании не специалистов, этой проблемы нет.

Да тут не техническая проблема, а тонкая разница. ... Если они не знают о ней, то ясное дело, что не нужна. Но вот если будут знать, то будет ли нужна или нет?

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

В справке есть прямое указание по составлению алгоритма (см. здесь):
8. При специальных требованиях к функционированию алгоритма, к иконе можно присоединить “Левый комментарий” или “Правый комментарий” с уточнением назначения иконы и функционирования алгоритма.

Автор:  Илья Ермаков [ Воскресенье, 03 Май, 2009 11:48 ]
Заголовок сообщения:  Re: Для обсуждения и.с. DRAKOH 2009г.

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


Функциональность существенно разная. Разница между использованием во время разработки или использованием во время выполнения. (Электронщики хорошо должны это понимать, я уже говорил. Вставка - это как использование библиотек компонент для САПР на этапе проектирования. Процедура - это как сопряжение двух модулей устройства.)

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/