Re[7]: логично ли передавать объект по ссылке?
От: deniok Россия  
Дата: 05.02.08 13:46
Оценка:
Здравствуйте, lse, Вы писали:

lse>Здравствуйте, konsoletyper, Вы писали:


K>>Здравствуйте, lse, Вы писали:


lse>>>Вот-вот. А почему в фп невозможны ссылки? Скажем, каждый из друзей содержит константную ссылку на машину. Эта сслыка константная (именно константная, не путать с final), т е машина не может перекрашиваться. То бишь побочные эффекты невозможны. Так почему такие ссылки невозможны в фп?


K>>А потому, что нет разницы — ссылка она или копия.


lse>Хм, и в самом деле никакой. Только вот тут такой момент есть. Представим АТД, состоящий из двух друзей, у каждого из друзей есть копия машины вместо ссылки. Тогда при изменении цвета машины нужно будет создать новый экземпляр АТД, и не забыть установить цвет машины в двух местах — у каждого из друзей. А в случае ссылки достаточно было бы изменить цвет машины один раз в одном месте. Понятно конечно, что такой подход чреват побочными эффектами, но все же в этом отдельном случае ручками поменьше работать приходится. Я уже не говорю о том, что памяти в 2 раза больше нужно для хранения экземпляра такого АТД (хотя реализация может в самом деле попытаться оптимизировать это).


Это всё ООП-рассуждения. Что у тебя в предметной области-то, одна машина? Тогда тупл такой
(Friend, Friend, Car)

А если две разных — работай с туплом туплов
((Friend,Car), (Friend, Car))



lse>PS пример машинами и друзьями дурацкий, ибо такой АТД нафиг не нужен. Но вот с кажем, моделирование конкретного технического объекта — например, электрической схемы.


И что? Не поддаётся декларативному описанию?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.