Message from discussion Garbage Collection - The Trash Begins To Pile Up
From: "Le Chaud Lapin" <jaibudu...@gmail.com>
Subject: Re: Garbage Collection - The Trash Begins To Pile Up
Date: 27 Dec 2006 23:39:43 -0500
Content-Type: text/plain; charset="us-ascii"
X-Original-Date: 27 Dec 2006 15:24:21 -0800
X-Auth: PGPMoose V1.1 PGP comp.lang.c++.moderated
Greg Herlihy wrote:
> In comparison, the typical memory problems of a C++ program are far
> more serious: memory leaks, heap corruption, memory "stomping", invalid
> output, "crashes" far removed from the site of the error - the variety
> of potential C++ memory-management errors is practically infinite, and
> uniformly disasterous.
This viewpoint is very old in engineering and simply wrong. I've had
computer science students complain that electrical engineering would be
more fun if the math were not so complicated.
The problems you listed are caused by programmers doing things they
should not be doing. The degree to which such problems manifest is
directly proportional to the degree to which programmers persists in
doing things that they should not be doing.
> Unless C++ is intended to become a programming language exclusively for
> hobbyists and others who write programs for their own enjoyment - then
> the C++ language has to evolve from its 80s-era origins if it is to
> remain economically competitive as a programming language today.
The only group I see clearly benefiting from the "evolution" of C++ is
a large software company in the northeastern United States. The mess
caused by introducing GC into C++ would directly and indirectly result
in huge revenue increases for that company. In fact, it is to that
company's benefit to not have C++ be portable. If it is non-portable,
causes many issues, requires more design "tools", etc, that is all
activity. And activity in the software space translates to revenue for
any company that supports that activity, whether it is Perrier,
International Paper, Bic, Air Bus, Hilton Hotels, 3M, Sharpee, XYZ GC
Optimization Tools, Inc., whatever. There is a Belgian expression that
accurately characterizes what is going on with the new trend in "sloppy
kill-the-type-system mix-and-match coding style" that is going on
today. Unfortunately, its vulgarity prevents me from writing it int his
post, but essentially, it says that, when you are done doing what you
were doing, nothing is really accomplished, but everyone feels like it
has. I've spend more time in the past 6 months help people with GC
issues in languages that I don' t even know than I have spent on
related memory issues in my entire lifetime of C and C++. If I were to
add up the money wasted in salary for those people doing ..whatever it
is they are doing...it is simply huge.
> Fortunately, the C++ committee can read the writing on the wall as well
> as anyone: manual memory management is far too error-prone, produces
> programs that are far too expensive to debug and maintain, and even
> fails to deliver on the type safety guarantees of the language itself,
> to be presented as a serious alternative to automated memory
Failure of programmer or failure of language. I say failure of
> C++ without any form of automated memory management cannot be taken
> seriously as a commercial-grade computer programming language today,
> and even less so, tomorrow.
I might start believe this statement when GC proponents start writing
their GC's in a language other than C++.
-Le Chaud Lapin-
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]