OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 00:33

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




Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 11:13 

Зарегистрирован: Воскресенье, 22 Июль, 2007 03:25
Сообщения: 25
http://zouev.blogspot.com/2007/10/2.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 11:26 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Обсуждалось на форуме Королевства - http://delphikingdom.com/asp/talktopic. ... 82#msg5382


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 12:38 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Обсуждалось на форуме Королевства - http://delphikingdom.com/asp/talktopic. ... 82#msg5382

Вышеприведённая ссылка - более новый (сегодняшний) пост Зуева об Обероне, Си и т.д...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 14:34 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
decemberster писал(а):
http://zouev.blogspot.com/2007/10/2.html


Спасибо!
Наконец-то Зуев решил сказать что-то и об Обероне, а то разбор полетов касался только Си++ (несмотря на заявленный нейтралитет).
Надо вчитаться, подумать. Все-таки человек работает в ETH не первый год.
Некоторые суждения кажутся резковатыми:
Евгений Зуев писал(а):
Так, да не совсем: расширяемые записи (аналог классов в более распространенных языках) не являются средством структурирования программы в целом. Они существуют, по сути для того же, для чего предназначены были обычные записи: для представления данных.
Хотелось бы спросить орловцев (как пишущих на Обероне/КП программы покрупнее, чем мои): согласны ли они с этим утверждением?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 15:05 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Тут дело тонкое.

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

На этом я мог бы закончить и ответить, что:
1) Утверждение Зуева верно;
2) Для многих задач (все системные и приличная часть прикладных) это не недостаток, а скорее достоинство (отделяется модель данных от архитектуры).

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

Посему я бы вообще "откатил" RECORD практически до уровня первого Оберона, а для архитектурных задач ввёл пару спец. типов. Но это был бы далеко не OBJECT, как в Активном Обероне и Зонноне.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 16:04 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Илья Ермаков писал(а):
Однако, в компонентном ПО среди абстракций архитектуры кроме самих модулей появляются разъёмы между ними (т.е. динамические, виртуальные связи).


Именно о разъемах, а также о программной шине я и думал.
Не слишком это вяжется с утверждением, что (расширяемые) записи не несут архитектурной нагрузки.

Также непонятно, почему Зуев "уравнивает в правах" упорядоченную иерархию модулей (в Обероне) с простым линейным набором функций (в Си).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 16:12 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Илья Ермаков писал(а):
На этом я мог бы закончить и ответить, что:
1) Утверждение Зуева верно;
2) Для многих задач (все системные и приличная часть прикладных) это не недостаток, а скорее достоинство (отделяется модель данных от архитектуры).
Как же так? Разве запись не является средством, объединяющим часть данных модуля в неделимую единицу? Разве после этого переменные внутри и снаружи записи всё ещё располагаются на одном уровне иерархии? Разве в Си запись названа структурой "от балды"?

Другое дело, что это не настолько ясный инструмент. Локальная структурность. Упрощающая жизнь не во всём проекте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 16:16 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
К тому же, в той заметке встретилось сожаление по поводу того, что класс не может быть файлом наравне с модулем, что с заявлением "Класс должен знать своё место" не вяжется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Суббота, 20 Октябрь, 2007 22:10 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Такое чувство, что я не согласен с большинством утверждений Зуева.
Или во мне так разбушевалась необъективность? :oops:

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 09:25 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
AVC писал(а):
Такое чувство, что я не согласен с большинством утверждений Зуева.


Алексей Вячеславович, поскольку Вы смотрели мой томский доклад, позволю себе говорить в терминах "теории двух уровней":

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

Но отсюда совсем не следует автоматически, что мало-мальски обобщающие суждения такого знающего специалиста заслуживают того, чтобы придавать им такое значение, которое придано суждениям Е.З. самим названием сей ветки.

Другими словами, то, что специалист хорош (или даже блестящ) как ум первого уровня/типа, совсем не переводит его на второй уровень/тип. Пример -- Д.Кнут (ср. 3 толстых тома Кнута с книжечкой Дейкстры, безусловного ума типа-II).

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

В общем, мне не ясно, какого хрена такое непропорциональное внимание уделяется суждениям Жени Зуева.

Мне лично очевидно, что его обобщающие суждения сильно кривые (одно утверждение, что в О. кроме модулей нет средств для борьбы со сложностью -- полная ахинея).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 10:33 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
Рассуждения насчет мыслительных способностей и классификации мышления весьма занимательны, но к сути имеют весьма отдаленное отношение. Мнение Зуева -- это мнение Зуева. Но оно отнюдь не менее заслуживает внимания, чем высказывания разных участников данного форума.

Если резюмировать коротко его мысль (в той части, с которой я согласен и что давно уже озвучивал) -- модулей Оберона недостаточно для ряда задач промышленного программирования. Они являются строительными блоками языка-ядра.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 12:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
AVC писал(а):
decemberster писал(а):
http://zouev.blogspot.com/2007/10/2.html

... Некоторые суждения кажутся резковатыми:
Евгений Зуев писал(а):
Так, да не совсем: расширяемые записи (аналог классов в более распространенных языках) не являются средством структурирования программы в целом. Они существуют, по сути для того же, для чего предназначены были обычные записи: для представления данных.
Хотелось бы спросить орловцев (как пишущих на Обероне/КП программы покрупнее, чем мои): согласны ли они с этим утверждением?


Можно мне тоже?
Я не согласен. Еще как являются. Старый пример расслоения функциональности списков по модулям (зав. списком + зав. содержанием) доказывает, что являются.

Вообще эти моменты лучше выявлены в Компонентном Паскале. В Обероне они, в сущности, тоже есть, но менее явно. Женя, похоже, их плохо видит в результате.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 12:36 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Руслан Богатырев писал(а):
Рассуждения насчет мыслительных способностей и классификации мышления весьма занимательны, но к сути имеют весьма отдаленное отношение.


Еще как имеют. Экономят время. Чтобы можно было спокойно подумать о сути.

Например, я длинные посты некоторых авторов просто не читаю. Подумать страшно, сколько времени было бы потеряно, читая их.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 12:37 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Конечно, хорошо выбранные абстракции данных являются одним из условий для структурирования программы. И расширяемые ТД - особенно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 12:39 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Илья Ермаков писал(а):
... некоторая смысловая путаница таки возникает (хотя намнооого меньшая, чем в языках, эмулирующих понятие модуля через классы). Когда запись является типом данных, когда - интерфейсом, когда - реализацией интерфейса... Да ещё приходится налагать устные запреты на "смешивание" этих ролей - например, на наследование реализации


EXTENSIBLE присутствует для совместимости с классическим Обероном.

А насчет смысловой путаницы -- путаница возникает при интерпретации понятий одной системы в терминах понятий других систем, что не есть, строго говоря, путаница внутри самой данной системы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 17:39 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Руслан Богатырев писал(а):
Проблема работы с кустом модулей, проблемы контроля спецификаций (контроль инвариантов), декларирование условий нештатного поведения (генерируемых исключений) и т.п. -- всё это можно решить без сильного изменения за счет нового конструкта (обобщающей конструкции) -- программного кластера. Более того, можно рассматривать как вариант его введения прямо в Оберон, так и вариант надъязыка -- архитектурного языка, который оперирует модулями и обеспечивает их организацию (устанавливает и контролирует отношения).

Этот вопрос обсуждался здесь: viewtopic.php?f=2&t=489. Хотелось бы увидеть ваше решение этой задачи -- введение в BlackBox кластеров без изменения языка КП.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 21:08 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
info21 писал(а):
Например, я длинные посты некоторых авторов просто не читаю. Подумать страшно, сколько времени было бы потеряно, читая их.


Как я Вас понимаю. Нельзя свое драгоценное время растрачивать попусту. Это точно. Лучше маркировать людей. И фильтровать сообщения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 21 Октябрь, 2007 21:10 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
PGR писал(а):
Хотелось бы увидеть ваше решение этой задачи -- введение в BlackBox кластеров без изменения языка КП.


Мое решение Вы увидите в новом архитектурном языке в рамках проекта "Роса" (возможно, в одной из альтернатив такого языка).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Евгений Зуев об Обероне
СообщениеДобавлено: Понедельник, 22 Октябрь, 2007 23:50 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Илья Ермаков писал(а):
Конечно, хорошо выбранные абстракции данных являются одним из условий для структурирования программы. И расширяемые ТД - особенно.

В таком случае, утверждение Зуева неверно.
Или у меня что-то не в порядке с логикой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Вторник, 23 Октябрь, 2007 00:06 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Руслан Богатырев писал(а):
Мнение Зуева -- это мнение Зуева. Но оно отнюдь не менее заслуживает внимания, чем высказывания разных участников данного форума.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2, 3  След.

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


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

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


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

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