OberonCore
https://forum.oberoncore.ru/

Б. Мейер "Архитектуры: ОО-е и функциональные"
https://forum.oberoncore.ru/viewtopic.php?f=72&t=3548
Страница 1 из 1

Автор:  Илья Ермаков [ Суббота, 20 Август, 2011 22:40 ]
Заголовок сообщения:  Б. Мейер "Архитектуры: ОО-е и функциональные"

Из сборника viewtopic.php?p=64882#p64882.

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

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

Вложения:
Мейер - ООП и ФП.pdf [3.36 МБ]
Скачиваний: 590

Автор:  Владислав Жаринов [ Воскресенье, 21 Август, 2011 07:13 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

М-да... интересно, а "как Обероны (неактивные) делают это" (агентуру), если оно вообще им надо? :)
Кстати, разделение запросов и команд поддерживается и в автоматном программировании... по крайней мере в этой работе это показано.

Автор:  Илья Ермаков [ Воскресенье, 21 Август, 2011 11:29 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

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

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

Автор:  Владислав Жаринов [ Воскресенье, 21 Август, 2011 20:28 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

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

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

Автор:  Peter Almazov [ Понедельник, 22 Август, 2011 15:11 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

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

Автор:  Владислав Жаринов [ Четверг, 25 Август, 2011 10:45 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

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

Автор:  Info21 [ Четверг, 25 Август, 2011 11:10 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

До абсурда доводить не надо: как же это без копирования :)

Автор:  Сергей Прохоренко [ Четверг, 25 Август, 2011 16:10 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)


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

Автор:  Владислав Жаринов [ Четверг, 25 Август, 2011 16:29 ]
Заголовок сообщения:  О копипасте в информоделировании

Как-то вышел за топик... :wink: так что перенёс своё в нужную, IMHO, тему - содержание этого поста теперь здесь.

Автор:  Валерий Лаптев [ Суббота, 27 Август, 2011 10:55 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)

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

Автор:  Владислав Жаринов [ Суббота, 27 Август, 2011 11:21 ]
Заголовок сообщения:  Re: Б. Мейер "Архитектуры: ОО-е и функциональные"

Валерий Лаптев писал(а):
Info21 писал(а):
До абсурда доводить не надо: как же это без копирования :)
Мы исследуем этот вопрос.
...
Есть вопросы, см. в этом посте - опять же по теме. :)

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