comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Getting the index for an element in mutually referencing containers
Date: Sat, 11 Mar 2017 21:46:25 +0000
Date: 2017-03-11T21:46:25+00:00	[thread overview]
Message-ID: <lypohnbi6m.fsf@pushface.org> (raw)
In-Reply-To: oa1o1j$1tuh$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> On 2017-03-11 21:05, Simon Wright wrote:
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>>
>>> On 2017-03-11 12:21, Simon Wright wrote:
>>>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>>> The semantics of "object deleted" is in question. Usually it is merely
>>> throwing it out of some list (container) and thus decreasing object's
>>> reference count. The object stays alive until nobody else uses it =
>>> nobody holds a strong reference to it.
>>
>> That seems to be a very computer-oriented viewpoint. If your objects
>> represent real-world objects (or roles, or events - OOA view) then you
>> wouldn't want them to hang around! If you decide to abort an engagement
>> and therefore delete the Missile object, whose finalization sends a
>> self-destruct command to the corresponding missile in flight, you want
>> it to happen Right Now.
>
> If you have control over it. In the real world, which includes real
> programs, you might have none and there is no such thing as "now"
> anyway.

Of course not. But there is such a thing as avoiding the possibility
of references preventing deletion when deletion needs to happen as soon
as possible.

> Then I would say that rather your idea is computer-oriented. Objects
> are given us in their public operations. Once you cannot apply any to
> the object, or in other semantics, if Object.Exists yields False,
> there is no object. In terms of missiles, when you see a cloud of
> explosion, the work is done. You drop the last your reference and
> don't care if the object transited into another dimension or some
> object paradise. If you don't see it by any programmatic means, then
> there is none.

I (a software Missile object) have been told to delete myself. In my
finalization, I must send a command to my real-world equivalent telling
it to destroy itself. I only need to send it once, because
communications aren't my responsibility (and if comms are down nothing
can be done anyway).


Basically, I (Simon, now) am having trouble thinking of an application
where reference counting would be an appropriate solution.


  reply	other threads:[~2017-03-11 21:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-09 13:45 Getting the index for an element in mutually referencing containers Mart van de Wege
2017-03-09 15:25 ` Egil H H
2017-03-09 15:45   ` Mart van de Wege
2017-03-09 16:02     ` Mart van de Wege
2017-03-09 16:11     ` Egil H H
     [not found] ` <ly7f3xedp4.fsf@pushface.org>
     [not found]   ` <86k27xpikd.fsf@gaheris.avalon.lan>
     [not found]     ` <lywpbxc9my.fsf@pushface.org>
     [not found]       ` <86wpbxneuz.fsf@gaheris.avalon.lan>
     [not found]         ` <o9vcbp$t0t$1@franka.jacob-sparre.dk>
2017-03-11  6:45           ` Mart van de Wege
2017-03-11  8:40           ` Simon Wright
2017-03-11  8:58             ` Dmitry A. Kazakov
2017-03-11 11:21               ` Simon Wright
2017-03-11 14:18                 ` Dmitry A. Kazakov
2017-03-11 20:05                   ` Simon Wright
2017-03-11 20:52                     ` Dmitry A. Kazakov
2017-03-11 21:46                       ` Simon Wright [this message]
2017-03-11 22:37                         ` Niklas Holsti
2017-03-12  8:22                           ` Simon Wright
2017-03-12  9:38                             ` G.B.
2017-03-12 11:21                               ` Simon Wright
2017-03-13 10:29                             ` Alejandro R. Mosteo
2017-03-12  8:20                         ` Dmitry A. Kazakov
2017-03-12 11:30                           ` Simon Wright
2017-03-12 11:55                             ` Dmitry A. Kazakov
2017-03-12 16:44                               ` Simon Wright
2017-03-12 17:42                                 ` Dmitry A. Kazakov
2017-03-13 19:55                                   ` Randy Brukardt
2017-03-13 20:53                                     ` Dmitry A. Kazakov
2017-03-14 20:40                                       ` Randy Brukardt
2017-03-15  8:44                                         ` Dmitry A. Kazakov
2017-03-15 20:12                                           ` Randy Brukardt
2017-03-16  2:59                                             ` Paul Rubin
2017-03-16  9:04                                             ` Dmitry A. Kazakov
2017-03-13 23:25                                   ` Simon Wright
2017-03-14  8:25                                     ` Dmitry A. Kazakov
2017-03-12  1:36             ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox