comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: newbie Q: storage management
Date: 1997/05/03
Date: 1997-05-03T00:00:00+00:00	[thread overview]
Message-ID: <dewar.862662302@merv> (raw)
In-Reply-To: 336A065B.41C6@magellan.bgm.link.com



Samuel Mize said

<<Please note that I was trying explain the reasoning behind unchecked
deallocation, which was designed for Ada 83, not Ada 95.  If that
was unclear, I apologize.  The design decision was carried over into
Ada 95 by (1) the vocal minority who fear dynamic memory usage,
(2) the requirement for upward compatibility, and (3) inertia.  (See
also below about "special needs annexes" before flaming.)>>



Actually this is quite wrong. Samuel, you were not there, and so you
are guessing, and you are guessing wrong!

In fact the viability of garbage collection in a language at the level
of Ada is far from established. We have no good proof by example that
it is feasible. Real java compilers, as opposed to safe Java
interpretors, may give such proof. One very large item of concern is
that if you have a language that provides system level features that
let you mess at a low level, it is all too easy to cause damage
to critical structures that GC depends on, and bugs caused in this
way can be diabolical to track down.

I speak from experience here, during my work on SPITBOL, we occasionally
ran into such bugs (I have been playing with GC for a long time, see
my paper in 1977 Software Practice and Experience, and also Steve
Burov's thesis, from 1978, on garbage collection in Algol-68).

Algol-68 might have given some demonstration that GC could be widely used,
if A68 itself had been widely used. Certainly in England, where A68 was
widely used, all sorts of applications ended up successfully using GC.

But the fact of the matter is that the great majority of people are
unconvinced, and I was certainly not able to convince the Ada 95
committee to evenm consider GC, even in the context of the information
systems annex as an optional feature.

There was indeed a vocal minority on this issue, but it was a very small
minority (1, me) and it was on the other side. The great majority, namely
everyone else, was opposed to going beyond the Ada 83 design point, i.e.
allowing GC, but not insisting on it.

Right now, the best thing, rather than flaming away on CLA, would be
for advocates of GC to implement GC in GNAT and desmonstrate that
it works fine.

(Hint: use the Modula-3 work as a starting point)

Certainly no one could have suggested removing the explicit deallocation
from Ada 95, that would have been a truly silly suggestion, which would
not have been given 2 seconds of attention.

What could have been done was to say some warm words about GC, and define
the semantics of Storage_Error in the presence of GC a little more precisely,
but even that was not acceptable to the great majority.





  parent reply	other threads:[~1997-05-03  0:00 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-29  0:00 newbie Q: storage management Kaz Kylheku
1997-04-30  0:00 ` Samuel A. Mize
1997-04-30  0:00   ` kaz
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Samuel A. Mize
1997-05-02  0:00       ` Jon S Anthony
1997-05-03  0:00       ` Robert Dewar [this message]
1997-05-03  0:00         ` Jon S Anthony
1997-05-04  0:00           ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-03  0:00       ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-06  0:00           ` Robert Dewar
1997-05-06  0:00             ` Robert A Duff
1997-05-08  0:00               ` Jon S Anthony
1997-05-08  0:00                 ` John G. Volan
1997-05-09  0:00                   ` Jon S Anthony
1997-05-09  0:00                     ` John G. Volan
1997-05-13  0:00                       ` Jon S Anthony
1997-05-13  0:00                         ` Robert Dewar
1997-05-09  0:00                 ` Robert A Duff
1997-05-09  0:00                   ` Jon S Anthony
1997-05-10  0:00                     ` Robert A Duff
1997-05-12  0:00                       ` Jon S Anthony
1997-05-09  0:00                   ` Brian Rogoff
1997-05-10  0:00                     ` Robert A Duff
1997-05-10  0:00                   ` Robert Dewar
1997-05-09  0:00                 ` Robert Dewar
1997-05-13  0:00                   ` Jon S Anthony
1997-05-06  0:00           ` Michael F Brenner
1997-05-06  0:00             ` Assuaging sour grapes :-) [was: newbie Q: storage management] John G. Volan
1997-05-07  0:00               ` Stephen Posey
1997-05-07  0:00               ` Kevin Cline
1997-05-07  0:00                 ` John G. Volan
1997-05-07  0:00                   ` John G. Volan
1997-05-07  0:00                     ` Robert Dewar
1997-05-08  0:00                   ` Jon S Anthony
1997-05-08  0:00                 ` Jon S Anthony
1997-05-08  0:00               ` Dynamic binding of packages Nick Roberts
1997-05-08  0:00                 ` John G. Volan
1997-05-07  0:00             ` newbie Q: storage management Jeff Carter
1997-05-07  0:00             ` Robert Dewar
1997-05-09  0:00               ` Robert I. Eachus
1997-05-10  0:00                 ` Robert Dewar
1997-05-04  0:00       ` Kevin Cline
1997-05-04  0:00         ` Robert Dewar
1997-05-02  0:00   ` Samuel A. Mize
1997-05-04  0:00     ` Robert Dewar
1997-04-30  0:00 ` Jon S Anthony
1997-05-02  0:00   ` Robert Dewar
1997-05-04  0:00     ` Kaz Kylheku
1997-05-04  0:00       ` Robert Dewar
1997-04-30  0:00 ` Marinus van der Lugt
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Robert Dewar
1997-04-30  0:00 ` Robert I. Eachus
1997-05-02  0:00 ` Nick Roberts
1997-05-03  0:00   ` Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
1997-05-08  0:00 Jon S Anthony
1997-05-09  0:00 ` Robert Dewar
1997-05-09  0:00   ` Robert A Duff
1997-05-10  0:00     ` Fergus Henderson
1997-05-10  0:00       ` Robert A Duff
1997-05-12  0:00       ` Jon S Anthony
1997-05-13  0:00         ` Robert Dewar
1997-05-10  0:00 ` Fergus Henderson
1997-05-10  0:00   ` Robert Dewar
1997-05-13  0:00   ` Jon S Anthony
replies disabled

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