comp.lang.ada
 help / color / mirror / Atom feed
From: kcline@optelnow.net (Kevin Cline)
Subject: Re: memory leakages with Ada?
Date: 17 Mar 2002 20:09:38 -0800
Date: 2002-03-18T04:09:38+00:00	[thread overview]
Message-ID: <dcfe911f.0203172009.76c72def@posting.google.com> (raw)
In-Reply-To: a71ffd$5c9$1@msunews.cl.msu.edu

"Chad R. Meiners" <crmeiners@hotmail.com> wrote in message news:<a71ffd$5c9$1@msunews.cl.msu.edu>...
> "Kevin Cline" <kcline@optelnow.net> wrote in message
> > Dereferencing nil is just as fatal to program execution.  The only
>  advantage
> > is that it is more easily debugged because the crash is immediate.
> > Any code that keeps invalid pointers around, whether null or not, is
> > poorly crafted.  Good programmers don't much care about the state
> > of a pointer variable after delallocation because the variable
> > is either going to be reassigned immediately or is going out of scope.
> 
> While it is true that dereferencing a null pointer will raise a
> constraint_error exception, exceptions can be handled gracefully and null
> pointers can be guarded against.  Pointers off to nowhere are very difficult
> to detect in a general manner.
> 
> Your assertion about good programmers not caring about the state of a
> pointer, however, is false.  For example, let's say we want to build a hash
> table of complex objects.  

Why wouldn't I use one of the many fine generic implementations
already available?

> This can be accomplished via an array of pointers
> to the given object type.  Here is a case where we will want to reuse the
> pointers (although not necessarily immediately) since we might delete and
> add a bunch of objects throughout the program's lifetime.   Here we can
> clearly use the state of the pointers to hold valuable information about the
> table.  Is this use improper?  No, this is actually a case where using
> pointers is the right way to go about solving the problem.   Other examples
> of null pointers being useful are linked lists and tree data structures.

Certainly it is, but in my experience the implementation of such fundamental
data structures is a small part of application code, and not often the
source of memory leaks since it's clear which code is responsible for
deallocation.

> 
> This is one of the many reasons why I like Ada.  The designers did a very
> good job with access types.  I have never encountered a situation where I
> felt I was being forced by the language to use a pointer improperly in the
> six years I have been programming with it.  

I don't think there any languages that force one to use a pointer improperly.
There are some languages where a pointer can be used improperly with
less typing that is necessary in Ada.

Ada makes the undesirable inconvenient. 
It forces the inexpert to ask questions of their betters, 
because without guidance they won't be able to appease the compiler.
This can be a good thing.



  reply	other threads:[~2002-03-18  4:09 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-14 14:07 memory leakages with Ada? Calvin Ow
2002-03-14 14:31 ` Larry Kilgallen
2002-03-14 20:42   ` Nick Roberts
2002-03-14 21:11     ` Larry Kilgallen
2002-03-14 21:07   ` Anh_Vo
2002-03-14 20:12 ` Marin David Condic
2002-03-15  9:37   ` John McCabe
2002-03-15 12:55     ` Pat Rogers
2002-03-16  4:36       ` Will
2002-03-16  4:53         ` Pat Rogers
2002-03-16 12:21         ` Larry Kilgallen
2002-03-16  9:13       ` DPH
2002-03-16 14:38         ` Pat Rogers
2002-03-16 14:56           ` DPH
2002-03-16 15:51             ` Preben Randhol
2002-03-16 16:39               ` DPH
2002-03-16 19:51                 ` Pat Rogers
2002-03-16 20:40                   ` DPH
2002-03-17 19:31                   ` Richard Riehle
2002-03-17 21:49                     ` Pat Rogers
2002-03-17 22:02                       ` Pat Rogers
2002-03-18 22:32                         ` Randy Brukardt
2002-03-18 22:47                           ` Pat Rogers
2002-03-18  7:22                       ` Richard Riehle
2002-03-18 17:35                     ` Marin David Condic
2002-03-17 16:26                 ` Steve Doiel
2002-03-16 20:18         ` Robert A Duff
2002-03-16 20:36           ` DPH
2002-03-15 14:20     ` Marin David Condic
2002-03-18 17:54       ` Warren W. Gay VE3WWG
2002-03-18 19:54         ` Hyman Rosen
2002-03-18 20:34           ` Larry Kilgallen
2002-03-18 21:18             ` Hyman Rosen
2002-03-18 21:45               ` Larry Kilgallen
2002-03-20  1:19                 ` Hyman Rosen
2002-03-20 17:06                   ` Warren W. Gay VE3WWG
2002-03-20 17:56                     ` Larry Kilgallen
2002-03-20 17:48                   ` Marin David Condic
2002-03-22  0:25               ` Matthew Woodcraft
2002-03-22  5:10                 ` Hyman Rosen
2002-03-18 22:18         ` Marin David Condic
2002-03-20 20:49         ` Bertrand Augereau
2002-03-21  4:31         ` Will
2002-03-15 16:00     ` Hyman Rosen
2002-03-15 21:59       ` Chad R. Meiners
2002-03-17  5:43         ` Kevin Cline
2002-03-17  7:22           ` Chad R. Meiners
2002-03-18  4:09             ` Kevin Cline [this message]
2002-03-18 16:54               ` Chad R. Meiners
2002-03-18 17:38             ` Warren W. Gay VE3WWG
2002-03-19  9:21               ` John McCabe
2002-03-19 17:11                 ` Warren W. Gay VE3WWG
2002-03-19 17:16                   ` Pat Rogers
2002-03-19 17:51                   ` David C. Hoos
2002-03-19 18:20                   ` Frank J. Lhota
2002-03-19 23:43                     ` Mark Johnson
2002-03-20 15:09                       ` Frank J. Lhota
2002-03-17  7:27           ` Hyman Rosen
2002-03-18  3:52             ` Kevin Cline
2002-03-18  5:37               ` Hyman Rosen
2002-03-15 17:41   ` Kevin Cline
2002-03-15 18:00     ` Marin David Condic
2002-03-15 18:08     ` Hyman Rosen
2002-03-16 10:15       ` Kevin Cline
2002-03-14 23:14 ` Kevin Cline
2002-03-15  3:20 ` Steve Doiel
2002-03-15  9:32   ` John McCabe
2002-03-15 15:46     ` Hyman Rosen
2002-03-15 17:29     ` Kevin Cline
2002-03-15 15:48   ` Jeffrey Carter
2002-03-16  3:05     ` Steve Doiel
2002-03-16 20:19       ` Jeffrey Carter
2002-03-15 17:25   ` Kevin Cline
2002-03-15 18:03     ` Hyman Rosen
2002-03-16 10:07       ` Kevin Cline
2002-03-17  3:00         ` Hyman Rosen
2002-03-15  9:27 ` John McCabe
  -- strict thread matches above, loose matches on Subject: below --
2002-03-20  6:25 Christoph Grein
2002-03-20 16:35 ` Hyman Rosen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox