А вот и подход Кауфмана к "объектности":
Вложение:
Интересна идея "тип=язык". Снова прослеживается мысль, что объектная декомпозиция программы - не самоцель, а средство обеспечения её полного ЖЦ. В данном случае - разделения техпроцесса сочинения и во времени, и между разработчиками.
Важны замечания о гомоморфизме и ЕГМ-критерий в п. 6.12. В частности, ЕГМ-фильтр предикатов. Видимо, имеется в виду то же, о чём говорится в начале
этого пункта в связи с построением охран. Там обсуждается частный случай - когда сочинитель вставляет в охрану "местное" вычисление для её терма. У Кауфмана более общее соображение - когда эффект этого вычисления сказывается и за пределами охраны.
Сопоставляются реализации подхода прежде всего на примерах Оберона и "объектного" ТП. Первый - в пп. 6.8, 6.9, второй - в п. 7.4. Так, для ТП рассматривается понятие ТВО (в других вариантах - ТВМ; этот механизм Усов рассматривал как возможный для формализации деятельности в
этом сообщении).
В плане "неизбыточной сложности" оптимизации (и одновременно "когнитивной эргономики") важен критерий Дейкстры (п. 7.5).
В то же время автор предполагает, что идеал объектной программы - когда то ли класс ("объектный тип"), то ли сам объект есть модуль (см. в п. 7.7.). И получается, что это:
Илья Ермаков писал(а):
Не знаю, как у Info21, но лично меня всегда настораживали некоторые убеждения Мейера навроде ненужности модулей в ООП-языке.
Конкретно это убеждение - индикатор того, что нечто важное он не различает...
Поддерживаю всеми руками и ногами. Это - совершенно очевидная ошибка Мейера. Я так студентам и говорю: у Мейера есть чему научиться, но о модулях он думает неправильно!
- действительно можно понимать иначе. Не знаю, что думают специалисты в теории и реализации ЯП...