From -7702475034103476639
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 109fba,d733139e7969f81d
X-Google-Attributes: gid109fba,public
X-Google-Thread: f78e5,d733139e7969f81d
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1994-09-27 16:49:04 PST
Newsgroups: comp.std.c++,comp.lang.c++
Path: bga.com!news.sprintlink.net!howland.reston.ans.net!swrinde!news.dell.com!tadpole.com!uunet!news.cygnus.com!news!jason
From: jason@cygnus.com (Jason Merrill)
Subject: Re: How relevant is ANSI C++? (Re: Is STL a good standard?)
In-Reply-To: kanze@us-es.sel.de's message of 27 Sep 1994 15:09:31 GMT
Content-Type: text/plain; charset=US-ASCII
Message-ID: <JASON.94Sep27152354@deneb.cygnus.com>
Sender: news@cygnus.com
Nntp-Posting-Host: deneb.cygnus.com
Organization: Cygnus Support, Mountain View, CA
References: <TMB.94Sep23155815@arolla.idiap.ch> <rfgCwpHx3.2Jz@netcom.com>
	<TMB.94Sep26214307@arolla.idiap.ch> <rfgCws76q.Isr@netcom.com>
	<KANZE.94Sep27160931@slsvhdt.us-es.sel.de>
Mime-Version: 1.0
Date: Tue, 27 Sep 1994 22:23:54 GMT
Lines: 34
Xref: bga.com comp.std.c++:4653 comp.lang.c++:30697

>>>>> James Kanze US/ESC 60/3/164 #71425 <kanze@us-es.sel.de> writes:

> Of course, the other difference is who pays: the implementor or the
> user.  As Ron has pointed out before, if the implementor pays, in the
> end, so does the user.  But in this case, both get back more than they
> pay (since the implementor will be a user in his next release).  I
> think that if I were an implementor, I would implement something along
> the lines of the Safe C++ proposal, even if no one wanted it, just to
> be able to use is myself in the implementation, and thus reduce my
> costs.

Assuming, of course, that the compiler is written in C++.  g++, for one,
isn't.  Are there any others?

> Apparently the implementors don't agree with me.  I wonder if there is
> any relationship between this and the particularly low quality of most
> available compilers.

"this"?  The availability of GC, you mean?  The gcc implementation uses a
happy medium between manual and automatic garbage collection; dynamically
allocated things go onto different heaps ("obstacks"), which are cleared as
a whole when they are no longer pertinent.  So when a function has been
compiled, everything it created is tossed (except, perhaps, for what is
necessary to inline it later on).  As a consequence, memory management in
gcc is fairly simple and error-resistant.  Not to suggest that there isn't
room for improvement; gcc is a notorious memory hog, but I don't think that
leaks are causing that.

I think that the low quality of most available compilers is due primarily
to the complexity and fluidity of the language.  When the rules change
every few months, sometimes the repercussions don't quite get propagated to
the dark corners of the compiler.

Jason


