From: Jonathan DeSena <jonathan.desena@jhuapl.edu>
Subject: Re: Ada and pointers
Date: Wed, 15 Aug 2001 15:25:01 +0228
Date: 2001-08-15T19:23:59+00:00 [thread overview]
Message-ID: <9lei8f$gmu$1@houston.jhuapl.edu> (raw)
In-Reply-To: 9ldto7$9pg$1@nh.pace.co.uk
Marin David Condic wrote:
> Well, the statement is true enough because after all, dynamic allocation
> and the things done by pointers are really a kind of fiction. Memory is
> basically one big array that you index with integers, so obviously, a
> non-dynamic/non-pointer solution must exist. Anything you do with pointers
> could be implemented with a one dimensional array and integer indexes -
> because that's what the compiler translates it into.
>
> However, that doesn't mean that one should avoid access types in all
> cases. Sometimes it is the most natural expression of the solution. Its
> just that you should generally use them sparingly and isolate them as best
> you can. Ada lets you do this rather well. (Some OOP-style programming
> relies heavily on access types so you've got to make design trade offs -
> use the OOP for its benefits at the risk of having lots more pointers
> flying around or avoid/isolate the pointers and implement a solution that
> may not be as extensible.) Access types aren't a "bad" thing - you just
> don't want to be forced into using them at every conceivable turn as you
> must in C/C++.
>
> MDC
> --
Also note that there are some circumstances in which an access type is
effectively required. Cohen's "Ada as a Second Language" lists several in
section 8.5 I believe. As an Ada newbie, I have already run across a few of
these situations, namely: recursive types and variable sized arrays (or to
paraphrase Cohen, "simulating variable sized arrays." I suppose I could
have framed the solution differently to avoid these cases, but frankly, I'm
not exactly sure how.
As an aside, I have had some limited experience with FORTRAN code which
uses a giant array with many integer index pointers into it. It even has
its own memory management of this array, of sorts. I must say that trying
to follow this code is no fun at all, even though it is heavily documented.
It seems to me, the original coders of many years ago could really have
used a language like Ada95.
jtd
next prev parent reply other threads:[~2001-08-15 12:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-13 7:05 How Ada could have prevented the Red Code distributed denial of service attack Gautier Write-only-address
2001-08-15 7:19 ` Ada and pointers Tony Gair
2001-08-15 12:49 ` Hambut
2001-08-15 13:33 ` Marin David Condic
2001-08-15 12:57 ` Jonathan DeSena [this message]
2001-08-16 1:46 ` Tony Gair
2001-08-16 13:37 ` Marin David Condic
2001-08-16 15:43 ` Darren New
2001-08-16 16:29 ` James Rogers
2001-08-16 16:56 ` Darren New
2001-08-17 14:58 ` Ted Dennison
2001-08-17 17:14 ` Darren New
2001-08-15 16:02 ` James Rogers
2001-08-15 17:16 ` Marin David Condic
2001-08-15 19:52 ` James Rogers
2001-08-15 21:00 ` Marin David Condic
2001-08-15 18:54 ` Hambut
2001-08-15 19:53 ` Marin David Condic
2001-08-16 8:25 ` Hambut
2001-08-15 16:25 ` Warren W. Gay VE3WWG
2001-08-15 13:37 ` Ted Dennison
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox