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



  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