comp.lang.ada
 help / color / mirror / Atom feed
From: Tony Gair <tony@blueyonder.co.uk>
Subject: Re: Ada and pointers
Date: Thu, 16 Aug 2001 01:46:11 GMT
Date: 2001-08-16T01:46:11+00:00	[thread overview]
Message-ID: <DBFe7.12766$6R6.1217641@news1.cableinet.net> (raw)
In-Reply-To: 9lei8f$gmu$1@houston.jhuapl.edu


> 
>> 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.
>> 

I find it difiicult to believe that this is obvious in any way.
It also dismisses the point of programmer error, none of us are infallible 
and its when some of us assume we are infallible and source omnipotent that 
our greatest and most widely known screw ups  strike  


>> 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.
> 

This could be to make converted c and c++ programmers happy. They get very 
unhappy when they have their pointers removed.

> 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
> 

Thanks for all the answers.




  reply	other threads:[~2001-08-16  1:46 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
2001-08-16  1:46         ` Tony Gair [this message]
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