Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 5936 Удалено модератором | |
№ 5935 04-12-2007 07:02 |  |
Ответ на »сообщение 5931« (Как слышно? Приём!)
___________________________
То есть если A вызывает B, B вызывает С, С вызывает А
и компилятор выдает ошибку, а не разруливает этот обычный случай,
то это плюс компилятору?
Эх, найти бы компилятор, который разруливает этот обычный случай автоматически.
Узнал бы, наконец, что такое сепулька.
№ 5934 04-12-2007 06:18 |  |
Ответ на »сообщение 5932« (Илья Ермаков)
___________________________
>>> А как он, по-вашему, этот "обычный случай" должен разрулить?
Автоматически :)
Ничего не выгружать. Но это случай простейшего кольца.
>>> Тем и отличается модульная система от монолитной, что она расслаиваемая.
>>> Вы можете всегда снять или добавить модули с верхних уровней.
>>> Позвольте кольцевые связи импорта - и Вы не сможете исключить из системы ни одного модуля.
>>> А при добавлении будет неясно, в каком порядке их инициализировать.
Эхе-хе! Вот тут направленный граф бы и пригодился.
Речь ведь не о напрочь закольцованных системах.
В сети можно выделить и ветви. Вот компилятору бы этим и заняться.
Речь пока не о суперзакольцованных сетях, а о слегка закольцованных.
>>> Стройте сетку связей поверх орграфа-каркаса - кто мешает?
Каркас и мешает. Он встаёт перед моими (и не только) глазами и говорит:
"Нечего сети разводить! ООП не велит! Делай как я! Тебе нужна эта головянка?"
Это какую же силу воли надо иметь, чтобы не поддаться!
Это как бы шутка, но на это соскальзывает куча народа.
Опять же при изменении ТЗ переделывать заново модель бывает выгодно,
если сидишь на окладе.
№ 5933 04-12-2007 06:03 |  |
>>> Потом ищете предка в УЖЕ созданной системе.
Очень хорошее возражение, проясняющее ситуацию дальше.
Я предполагаю, что связи объекта довольно таки реальны,
а не зависят от Вашей прихоти.
То есть автор модели волен выбирать те или иные связи и даже ошибаться,
но это скажется на адекватности и работоспособности модели.
Рассматриваем модели, составленные специалистами (риспект СП).
Те, которые не работают кидаем в помойку.
Таким образом, структура работающих моделей объективна и
совсем не обязательно должна следовать за гламурной модой,
конъюнктурой рынка и мейнстримными пропиаренными течениями.
Во вторых я не ищу предка, а хотел бы показать, что предок достаточно случаен.
Случай ориентированного графа изменяет ситуацию (честно подставляюсь),
но это пока "не входит в тему диссертации". :)
Помните байку о том, кто такие крутые генералы?
- Это те, кто подряд выиграл 5 сражений.
- А сколько же их у Вас из 100?
- Три.
- Дык, ёлы-палы это ж статистика: 2^5=32
Вот и с суперпредком так же.
Ну и ещё кто толще - ООПнее.
№ 5932 04-12-2007 05:54 |  |
Ответ на »сообщение 5931« (Как слышно? Приём!)
___________________________
>>> Есть связи импорта - дерево.
То есть если A вызывает B, B вызывает С, С вызывает А
и компилятор выдает ошибку, а не разруливает этот обычный случай,
то это плюс компилятору?
>>> расслаивание системы на уровни абстракции ... обязательно должно быть.
Для чего расслаивание, а не, скажем, вариантное агрегирование?
Так проще и так принято - это понятно, а по сути - почему в слои складывать?
А как он, по-вашему, этот "обычный случай" должен разрулить?
Тем и отличается модульная система от монолитной, что она расслаиваемая.
Вы можете всегда снять или добавить модули с верхних уровней. Позвольте кольцевые связи импорта - и Вы не сможете исключить из системы ни одного модуля. А при добавлении будет неясно, в каком порядке их инициализировать.
Стройте сетку связей поверх орграфа-каркаса - кто мешает?
№ 5931 04-12-2007 05:48 |  |
>>> Заметим, во первых, что связи эти ориентированные.
Да, если ориентированность связей графа существенна,
то приведённые мной рассуждения не столь очевидны.
Но! Именно разнородность связей или то, что
>>> связи могут иметь различную природу
как раз не в пользу пирамиды.
"Правило рычага в будущих версиях изменится"
если Вы не предусмотрите достаточно свободного места
для его размещения в корпусе, не обеспечите смазку его шарнира,
если материал рычага таков, что он может деформироваться
от нагрева, скажем или его характеристики изменятся от выпавшего
как всегда внезапно :) зимой снега в средней полосе России,
растаявшего в оттепель и намёрзнувшего на рычаг ночью.
То есть если рычаг выступит в другом отношении, нежели
просто механическая передача усилия появятся новые связи.
Как раз связи иной природы, причём такой, которую в начале
исследования мы не учли и образуют сеть связей.
Если мы в начале исследования составили уже структуру модели,
определили что главное, а что потомок - то на что это похоже?
"Ваше мнение может быть любым, если оно совпадает с моим".
Что тут исследовать?
Напомню, кибернетика - наука о связях.
Необходимость построения структуры адекватной объекту, а не модной
или удобной в силу своей простоты - вот о чём я пою мою песню.
>>> Так, что насчет специалистов Вы погорячились.
Я же смайлик поставил ... Но подсечка удалась :)
>>> Есть связи импорта - дерево.
То есть если A вызывает B, B вызывает С, С вызывает А
и компилятор выдает ошибку, а не разруливает этот обычный случай,
то это плюс компилятору?
>>> расслаивание системы на уровни абстракции ... обязательно должно быть.
Для чего расслаивание, а не, скажем, вариантное агрегирование?
Так проще и так принято - это понятно, а по сути - почему в слои складывать?
№ 5930 04-12-2007 05:14 |  |
Ответ на »сообщение 5926« (Как слышно? Приём!)
___________________________
>>> Выходит, беремся за модуль 1 - получился один предок.
>>> Взяли за модуль N - обратно предок. Куда ни плюнь, везде предки!
Ну да! Рюриковичи мы. А могли бы быть и Тахтамышата или потомки Лжедмитрия,
если бы он себя хорошенько пропиарил.
Какой-то смысл в отыскании "главного" предка как бы есть - это тот,
взявшись за который получим иерархию с минимальным числом уровней.
Однако такая оптимальная иерархия отличается от наихудшей в два раза.
Если сравним близкую к оптимальной от случайной и, более того,
оптимизированной по наитию, то разница будет процентов в сорок - двадцать.
И в этом смысле отыскание самого правильного предка вопрос раздувания щёк.
Так Вы ж перевернули с ног на голову :) Вы говорите - "есть система". Потом ищете предка в УЖЕ созданной системе. Тут не только Рюриковичи полезут...
Вообще-то делается наоборот, как мне всегда казалось.
№ 5929 04-12-2007 04:10 |  |
Ответ на »сообщение 5926« (Как слышно? Приём!)
___________________________
Да как раз именно конец. В смысле полный конец. Бетонирование.
Еще раз и медленно: окончанием исследования является построение математической модели. А программирование с этого начинается.
Вот у info21 программирование является инструментом исследования, это особый и сейчас довольно редкий случай. Наука давно не является главным потребителем ПО, наоборот, производство ПО должно быть потребителем научных знаний.
Если я собираюсь делать программу для моделирования механизмов, то смело могу создать объект "рычаг" и наследовать от него, не опасаясь, что правило рычага в будущих версиях изменится.
Есть единая система из N модулей, связанная N-1 связью.
Берёмся за любой модуль и вытаскиваем всю систему в более-менее одну линию.
Обратите внимание - любой!
Специалисты не нужны :)
Заметим, во первых, что связи эти ориентированные.
Во вторых, что связи могут иметь различную природу.
Так, что насчет специалистов Вы погорячились.
№ 5928 04-12-2007 03:59 |  |
Ответ на »сообщение 5926« (Как слышно? Приём!)
___________________________
Какой-то смысл в отыскании "главного" предка как бы есть - это тот,
взявшись за который получим иерархию с минимальным числом уровней.
Вообще, говорите Вы интересные вещи. Но, мне кажется, чрезмерно палку перегибаете (такое очучение, что набили Вам оскомину иерархии, и Вы их пытаетесь гонять большой палкой... :-) ).
Пример. Есть связи импорта - дерево. И для выстраивания связей управления в системе этого недостаточно, недостаточно вплоть до того, что приходится полностью перекладывать эти связи на динамические, с петлями, кольцами и прочими любимыми Вами прелестями :-)
Но всё равно одна роль у этого дерева связей остаётся - расслаивание системы на уровни абстракции (от низкого уровня к высокому). И такое расслаивание обязательно должно быть.
№ 5927 04-12-2007 03:54 |  |
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|