From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,fa22a73e140a6fd1 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Received: by 10.204.152.89 with SMTP id f25mr1505055bkw.0.1326272095393; Wed, 11 Jan 2012 00:54:55 -0800 (PST) Path: cj8ni81733bkb.0!nntp.google.com!news1.google.com!postnews.google.com!s18g2000vby.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Object-Oriented style question Date: Wed, 11 Jan 2012 00:54:55 -0800 (PST) Organization: http://groups.google.com Message-ID: <6e369958-0b8a-48bd-a548-f634e9a8487e@s18g2000vby.googlegroups.com> References: <4f098fcb$0$6577$9b4e6d93@newsspool3.arcor-online.net> <11047e9f-a7ef-4728-8e1c-4202c5958e9c@ck5g2000vbb.googlegroups.com> <4f0b7f2b$0$7617$9b4e6d93@newsspool1.arcor-online.net> <36ee3b54-496c-41d4-a8ba-3357741adada@p4g2000vbt.googlegroups.com> <4f0c2ebb$0$7626$9b4e6d93@newsspool1.arcor-online.net> NNTP-Posting-Host: 83.3.40.82 Mime-Version: 1.0 X-Trace: posting.google.com 1326272095 14362 127.0.0.1 (11 Jan 2012 08:54:55 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 11 Jan 2012 08:54:55 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: s18g2000vby.googlegroups.com; posting-host=83.3.40.82; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUALESNKRC X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-01-11T00:54:55-08:00 List-Id: On Jan 10, 1:27=A0pm, Georg Bauhaus wrote: > I wonder, though, whether the convention (using pointers to hint > at lifetime and identity) could be turned into a different setup. [...] > The resulting types may entail more work, but perhaps also more > flexibility. Suppose objects' lifetimes can be interrupted. > For example, objects that can be "serialized" to external storage. > They then seize to exist. Later, the program may load the objects > from external storage, bringing them to life again. Perhaps on > a different machine/node/partition. This might effectively mean > that addresses of objects have changed. This is essentially what object lifetime management in CORBA is supposed to do. In principle, this is also a way to achieve scalability by allowing objects (or rather their physical representations) to materialize only when they are needed and be "etherealized" otherwise. Transparent object migration is just one of the possibilities here. > Is this possible with pointers? My experience with such approaches is that distribution cannot be made fully transparent and attempts to do so result in severe problems[*] (you cannot manage what you don't see). I can, however, imagine some thick smart-pointer that provides this kind of functionality at least at the design level. [*] For more thoughts on why O-O and distribution don't work together in the way that is typically expected, see: http://www.inspirel.com/articles/RPC_vs_Messaging.html http://www.inspirel.com/articles/What_Is_Wrong_With_IDL.html http://www.inspirel.com/articles/Types_Of_Middleware.html -- Maciej Sobczak * www.msobczak.com * www.inspirel.com