comp.lang.ada
 help / color / mirror / Atom feed
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




  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