From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: Memory leak - What the ...?
Date: Thu, 14 Oct 2004 11:15:45 +0200
Date: 2004-10-14T11:15:45+02:00 [thread overview]
Message-ID: <9998429.Mdq0TzxY3r@linux1.krischik.com> (raw)
In-Reply-To: 1097675155.254329@master.nyc.kbcfp.com
Hyman Rosen wrote:
> 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).
There is some advantage over C++ as well: It should render better
performance on current CPU's and is saver. The reason is the all or nothing
approach of C++. Either you use the build in bit copy constructor and
assignment operator or you define you.
1st: block copys are faster on most CPUs then single assignments.
2nd: It is an easy mistake to forget the copy constructor or assignment
operator when adding a new attribute. The copy constructor will then
default initialise and assignment operator will keep the old value. And
that is wrong behaviour in 99.9% of all cases.
And please don't tell me you might *sometimes* want that behaviour. That is
the precise point I just hate about C++: For the 0.1% change that you need
some special behaviour the language accepts faulty code in cases where the
compiler could actually find the bug for you.
With Regards
Martin
--
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com
next prev parent reply other threads:[~2004-10-14 9:15 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-10 21:33 Memory leak - What the ...? Alex R. Mosteo
2004-10-10 22:05 ` Marius Amado Alves
2004-10-11 8:18 ` Alex R. Mosteo
2004-10-11 11:04 ` Marius Amado Alves
2004-10-11 13:02 ` Martin Krischik
2004-10-11 8:25 ` Martin Krischik
2004-10-11 8:56 ` Martin Dowie
2004-10-11 12:59 ` Martin Krischik
2004-10-11 1:40 ` Stephen Leake
2004-10-11 8:59 ` Alex R. Mosteo
2004-10-11 18:24 ` Stephen Leake
2004-10-12 3:02 ` Brian May
2004-10-12 8:45 ` Jean-Pierre Rosen
[not found] ` <mailman.282.1097576360.390.comp.lang.ada@ada-france.org>
[not found] ` <uvegkc.jrg.ln@skymaster>
2004-10-12 12:31 ` Marius Amado Alves
2004-10-12 14:47 ` Alex R. Mosteo
2004-10-12 16:05 ` Marius Amado Alves
2004-10-12 19:37 ` Björn Persson
2004-10-12 22:10 ` Marius Amado Alves
[not found] ` <416C5646.1020506@netcabo.pt>
2004-10-13 0:17 ` Stephen Leake
[not found] ` <u655f1ng9.fsf@acm.org>
2004-10-13 6:24 ` Marius Amado Alves
[not found] ` <416C00D6.90402@netcabo.pt>
2004-10-13 0:14 ` Stephen Leake
[not found] ` <416BAFA4.7020400@netcabo.pt>
2004-10-13 0:07 ` Stephen Leake
2004-10-13 13:45 ` Hyman Rosen
2004-10-14 9:15 ` Martin Krischik [this message]
2004-10-14 17:21 ` Hyman Rosen
[not found] ` <uis9f1nw3.fsf@acm.org>
[not found] ` <mailman.301.1097650377.390.comp.lang.ada@ada-france.org>
2004-10-13 7:40 ` Dmitry A. Kazakov
2004-10-13 17:44 ` Mark Lorenzen
2004-10-14 8:03 ` Dmitry A. Kazakov
2004-10-18 0:33 ` Brian May
2004-10-12 12:05 ` Alex R. Mosteo
2004-10-13 0:12 ` Stephen Leake
2004-10-13 8:39 ` Pascal Obry
2004-10-13 13:11 ` Memory leak - What the ...? - FOUND Alex R. Mosteo
2004-10-17 0:45 ` Memory leak - What the ...? Brian May
2004-10-13 0:32 ` Matthew Heaney
2004-10-18 0:26 ` Brian May
2004-10-13 0:27 ` Matthew Heaney
2004-10-13 7:58 ` Martin Krischik
2004-10-13 13:01 ` Alex R. Mosteo
2004-10-13 0:25 ` Matthew Heaney
2004-10-13 12:26 ` Stephen Leake
2004-10-13 14:45 ` Matthew Heaney
2004-10-13 23:45 ` Brian May
2004-10-14 1:33 ` Jeffrey Carter
2004-10-11 8:04 ` Martin Dowie
2004-10-12 10:47 ` Alex R. Mosteo
2004-10-12 15:07 ` Alex R. Mosteo
2004-10-13 14:53 ` Matthew Heaney
-- strict thread matches above, loose matches on Subject: below --
2004-10-11 9:50 Christoph Karl Walter Grein
2004-10-11 10:21 Christoph Karl Walter Grein
2004-10-14 4:30 Christoph Karl Walter Grein
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox