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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ec2a500cce3658c4 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newspeer.monmouth.com!nntp.abs.net!ash.uu.net!spool.news.uu.net!not-for-mail Date: Wed, 13 Oct 2004 09:45:55 -0400 From: Hyman Rosen User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Memory leak - What the ...? References: <416BAFA4.7020400@netcabo.pt> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Message-ID: <1097675155.254329@master.nyc.kbcfp.com> Cache-Post-Path: master.nyc.kbcfp.com!unknown@nightcrawler.nyc.kbcfp.com X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1097675155 5108 204.253.250.10 Xref: g2news1.google.com comp.lang.ada:5152 Date: 2004-10-13T09:45:55-04:00 List-Id: Stephen Leake wrote: > What would you consider "intuitive" in the area of Ada.Controlled? > I suspect you actually mean "not like anything else I know". Most importantly, not like C++. Ada's model of breaking controlled assignment into piecemeal function calls with a bit copy in the middle is difficult to understand and deal with, as is the possibility that Finalize may be called on an object multiple times, as is the fact that Initialize isn't called on aggregates. In C++, for example, user-defined assignment has access to both the object being assigned and the object and value being assigned from. In Ada, if the identity of the source object is important, I suppose you would have to finagle something with access discriminants (but I don't know Ada, so I'm not really sure).