Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!newshost.marcam.com!usc!howland.reston.ans.net!ix.netcom.com!netcom.com!nagle
From: nagle@netcom.com (John Nagle)
Subject: Re: C++ Productivity
Message-ID: <nagleD4In05.1Ir@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <1995Feb1.184049.16332@rcmcon.com> <D3E33s.DCp@da_vinci.ecte.uswc.uswest <D3yqBy.EB0@syacus.acus.oz.au> <D3zv07.DGt@research.att.com> <3ij2go$52l@hermes.synopsys.com> <3iktbi$t7i@wcap.centerline.com>
Date: Fri, 24 Feb 1995 17:52:53 GMT
Lines: 42
Sender: nagle@netcom4.netcom.com
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:114574 comp.lang.smalltalk:21175 comp.object:27308

chase@centerline.com (David Chase) writes:
>jbuck@synopsys.com (Joe Buck) writes:
>> Actually, I *do* think that C++ could have been improved in one
>> significant respect, preserving compatibility with most C code
>> but still adding better handling for arrays.
>Failing that, there is at least the array templates described
>in the Detlefs/Ellis proposal for "Safe C++".  They have the
>behavior that you want, though they receive no special treatment
>from compilers (to my knowledge, at this moment, that is).  If
>there's any hope for GC in C++, I think this is it, and thus I'm
>all in favor of people using the things that they propose in 
>hopes of promoting an informal standard.  (Note that the array
>templates do not require a garbage collector, but the garbage
>collector is greatly assisted by use of the array templates.)

       No, that last remark is backwards.  The Boehm collector doesn't
need the Safe C++ proposals at all.  But the collection classes of
Safe C++ assume a garbage collector.

       The Boehm collectors are conservative collectors; they know
almost nothing about the language being processed.  

       The "Safe C++" collections are Smalltalk-like:  The assumption
is that an object can be in any number of collections, and when there
are no pointers to an object, the garbage collector will free it.
This simplifies programming; the user doesn't have to worry about
who owns which data.

       Without a garbage collector (or some kind of smart pointer storage
management), who-owns-what is a big issue in C++ programming, and, of
course, the language doesn't provide any help.  The "Safe C++" work
was intended to fix that problem.

       Boehm and Ellis gave a talk yesterday at Xerox PARC on all this.
I think it's starting to get attention.

       Further info is available at "ftp://parcftp.xerox.com/pub/ellis/gc",
including a free version of the garbage collector and the collection
classes.

						John Nagle

