From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: Deallocation & Tagged Types
Date: Sun, 19 Oct 2003 15:38:54 GMT
Date: 2003-10-19T15:38:54+00:00 [thread overview]
Message-ID: <3F92AFF6.8050001@comcast.net> (raw)
In-Reply-To: 5Fhkb.3195$KA5.27417@newsfep4-glfd.server.ntli.net
chris wrote:
> Is there another way that I'm missing or is this how people do this in
> their code?
This is what Controlled types were added to the language for, why aren't
you using them? In your example, if Vehicle is a controlled type, you
don't have a problem. If Vehicle has no required finalization, it
doesn't need to be derived from Controlled (or Limited_Controlled) but
again, as the programmer of an abstraction that uses Vehicle, you don't
have to worry about it.
Incidently this is as I see it the biggest problem that programmers
moving from C++ or other OO languages to Ada have. Ada programmers are
used to trusting the developers of each abstraction to manage storage,
initialization, and a lot of other things correctly. Programmers new to
Ada spend a lot of time worrying about these things that Ada programmers
take for granted. I can say, teach, describe, whatever this attitude,
but it takes years for the worry to go away.
(Note: I understand that if someone programs an abstraction
incorrectly, that is a problem. But it is also a bug in the ADT that
needs to be fixed there. Code that includes workarounds for bugs in the
ADTs used is twice wrong. Once because the original type should be
corrected, and the second time because fixing the base abstraction is
now going to create a follow-on bug.)
--
Robert I. Eachus
"Quality is the Buddha. Quality is scientific reality. Quality is the
goal of Art. It remains to work these concepts into a practical,
down-to-earth context, and for this there is nothing more practical or
down-to-earth than what I have been talking about all along...the repair
of an old motorcycle." -- from Zen and the Art of Motorcycle
Maintenance by Robert Pirsig
next prev parent reply other threads:[~2003-10-19 15:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-18 20:53 Deallocation & Tagged Types chris
2003-10-19 15:38 ` Robert I. Eachus [this message]
2003-10-19 16:53 ` chris
2003-10-20 1:08 ` Robert I. Eachus
2003-10-19 16:10 ` Dmitry A. Kazakov
2003-10-19 16:50 ` chris
2003-10-20 1:13 ` Robert I. Eachus
2003-10-20 1:43 ` Hyman Rosen
2003-10-26 8:11 ` Patrice Freydiere
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox