Newsgroups: comp.lang.lisp,comp.lang.c++
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!newsfeed.internetmci.com!swrinde!tank.news.pipex.net!pipex!demon!sunsite.doc.ic.ac.uk!lyra.csx.cam.ac.uk!peer-news.britain.eu.net!newsfeed.ed.ac.uk!edcogsci!jeff
From: jeff@cogsci.ed.ac.uk (Jeff Dalton)
Subject: Re: Why garbage collection?
Message-ID: <DM09G0.MzG.0.macbeth@cogsci.ed.ac.uk>
Organization: Centre for Cognitive Science, Edinburgh, UK
References: <hbaker-2201961503250001@10.0.2.15> <4eae5s$66p@nz12.rz.uni-karlsruhe.de> <822675271snz@wildcard.demon.co.uk>
Date: Tue, 30 Jan 1996 17:47:59 GMT
Lines: 44
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:20652 comp.lang.c++:171684

In article <822675271snz@wildcard.demon.co.uk> cyber_surfer@wildcard.demon.co.uk writes:
>In article <4eae5s$66p@nz12.rz.uni-karlsruhe.de>
>           haible@ma2s2.mathematik.uni-karlsruhe.de "Bruno Haible" writes:
>
>> Just look at the technical strength of the argument that GC is not
>> "in the tradition of the C community"...
>
>Yeah, I love it. ;-)

But it _is_ true that GC is not in the tradition of the C community.
The argument that it's a "hidden cost" is key here.  C programmers
feel that they know what everything will do in machine terms, and
to a fair extent they are right.  (That's so despite a number of
difficulties and exceptions.)

So when a allocation might do lots of collecting as well (or
whatever), and you don't really know when, that seems to move
C into the higher-level / less-in-touch-with-the-machine camp.

>Mind you, I'm very happy with a mark/compact GC, and I found one
>in a computer science book, Fundamentals of Data Structures, by
>E Horowitz and S Sahni. While they're not anti-GC, they refer to
>Knuth and his belief that specialist languages such as Lisp and
>SNOBOL are not necessary, and that list and string processing can
>be done in any language. The languages that seem to have interested
>them tend to be PL/I, Pascal, and Fortran. Not at all like Lisp.

Well, surely it's true that list and string processing can be done
in (almost) any language.  I've done list processing in Basic, for
instance.  (Good Basics can, of course, do strings, so that's not
interesting.)

But there's a difference between a language is not necessary
and saying it's not valuable, or not worth having and using.
I'm not sure when Knuth stated this belief, but such points had
a different role in the past then they tend to do today,
because it was not so widely known that, or how, you could
do list or string processing.

A similar thing today (or maybe a few years back) might be to
point out that you could do object-oriented programming in
(almost) any language.

-- jd
