OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 14 Декабрь, 2019 02:07

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: Суббота, 20 Август, 2011 22:40 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Из сборника viewtopic.php?p=64882#p64882.

Глава Б. Мейер " Архитектуры: объектно-ориентированные и функциональные".

Критика ФП одним из главных методологов ООП.


Вложения:
Мейер - ООП и ФП.pdf [3.36 МБ]
Скачиваний: 230
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 21 Август, 2011 07:13 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
М-да... интересно, а "как Обероны (неактивные) делают это" (агентуру), если оно вообще им надо? :)
Кстати, разделение запросов и команд поддерживается и в автоматном программировании... по крайней мере в этой работе это показано.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 21 Август, 2011 11:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Дело в том, что все эти расширенные ОО-кунштюки, про которые упоминает Мейер, можно трактовать просто как паттерны, имея самые базовые механизмы ООП и имитируя что угодно композицией. Как уже было показано, например, для тех же делегатов (viewtopic.php?f=29&t=2125).

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 21 Август, 2011 20:28 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Илья Ермаков писал(а):
Дело в том, что все эти расширенные ОО-кунштюки, про которые упоминает Мейер, можно трактовать просто как паттерны, имея самые базовые механизмы ООП и имитируя что угодно композицией.
...
Как я понял, Мейеру как раз паттерны не нравятся (из-за "размножения маленьких классов") и он вводит другой механизм (делегатов, типа).
Меня больше заинтересовали рассуждения о важности проработки состава и связей объектов на предмет распределения свойств. В принципе, когда рассматривал область с подстановками в этом примере - обнаружил, что это удобно и в смысле такого вот обобщения свойств. Правда, цели показать "классообразование" я не ставил, поэтому не развивал это в примере. В то же время вот это:
Илья Ермаков в viewtopic.php?p=56533#p56533 писал(а):
...
Чем ниже компонент уровнем в технической системе, тем более "тупым" он должен быть. Он должен выполнять одновариантную максимально ненастраиваемую работу. Принятие решений должно происходить на верхних уровнях. Принятие решений концентрируется на верхнем уровне, "тупая" обработка - на нижних.
Как следствие - компоненты должны быть как можно менее параметризуемыми. Если "напрашивается" параметризуемый компонент, его надо разбивать на части, чтобы вместо настройки сложного компонента надсистема просто выполняла выбор того или иного простого компонента.

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


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

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 531
Откуда: Москва
Илья Ермаков писал(а):
Из сборника viewtopic.php?p=64882#p64882.
Глава Б. Мейер " Архитектуры: объектно-ориентированные и функциональные".
Критика ФП одним из главных методологов ООП.
Спасибо за ссылку. А то пропустил бы в сборнике.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Август, 2011 10:45 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Интересна также критика копипаста. Именно здесь удачно объяснено (со ссылкой на Д. Парнаса), почему это не способствует гарантоспособному программированию. И в общем я согласен; но есть одна частность. Бывает, что какой-то фрагмент описания (не обязательно программы) сочинителю удобно получить модификацией другого фрагмента. Ну вот делал он этот другой... и пришла ему идея насчёт первого... :) в человеческом мышлении ведь всё взаимосвязано. И что ему теперь - заново этот первый набирать? :wink: Неэргономично будет - и в конечном итоге негарантоспособно... м.б. ошибок-то при естественном преобразовании вставленной копии будет внесено меньше, чем при искусственно навязанном наборе фрагмента с начала...
Так что, наверное, стоит не запрещать копипаст как операцию - а ввести контроль на одинаковость фрагментов описания (м.б. специально помечать "копипащенные" куски по границам и флагом последующей редактированности/нетронутости... кстати, это укладывается и в логику ведения исправлений документа, "как в офисных пакетах"... и где-то в понятие "пассивной подстановки" как операции сборки документа, введённое в этом подпункте).
    И пусть редактор указывает на существование одинаковых кусков в разных местах - а дальше дело сочинителя подумать, как это преобразовать - процедуры как "активные подстановки" (если описание императивное), пассивные подстановки, областные вариации (если есть унифицируемые различия)...
    Кстати, редактор может указывать и на несущественно отличающиеся варианты. Скажем, если реализовано шаблонирование текста по принципу, описанному здесь - то можно считать за одинаковые и фрагменты с разницей только в именах величин. Можно выбирать тексты, отличающиеся несущественно (как интернет-поисковики)... правда, это посложнее и м.б. здесь не столь актуально...
М.б. поэтому и В. Лаптев полностью в проекте структурного редактора не отказался от вставки... в этом сообщении он причины не раскрыл.


Последний раз редактировалось Владислав Жаринов Понедельник, 21 Ноябрь, 2011 10:56, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Август, 2011 11:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8215
Откуда: Троицк, Москва
До абсурда доводить не надо: как же это без копирования :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Август, 2011 16:10 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: О копипасте в информоделировании
СообщениеДобавлено: Четверг, 25 Август, 2011 16:29 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Как-то вышел за топик... :wink: так что перенёс своё в нужную, IMHO, тему - содержание этого поста теперь здесь.


Последний раз редактировалось Владислав Жаринов Суббота, 27 Август, 2011 11:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Август, 2011 10:55 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Август, 2011 11:21 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Валерий Лаптев писал(а):
Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)
Мы исследуем этот вопрос.
...
Есть вопросы, см. в этом посте - опять же по теме. :)


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

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


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

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


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

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