Subject: Re: C++ briar patch (Was: Object IDs are bad)
From: Erik Naggum <>
Date: 1997/05/11
Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.misc,comp.lang.functional,comp.lang.c++
Message-ID: <>

* Alexander Stepanov -> Thant Tessman
| You win. I promise never to post a single netnews message again. The
| medium belongs to people like you. 

the first article you responded to in this thread was mine, where I said
that I thought the Standard Template Library was "remarkably good work",
but also a "magnificient waste" because it is done in C++.  I implied that
I thought the ideas were great but the choice of giving them concrete shape
in C++ was unfortunate.  however, I realize that I don't understand your
ideas.  I also don't buy that C++ is the only language in which you could
implement them, to the extent that I do understand them.  finally, I firmly
believe that when something can be done only in C++, that proves it must be
flawed at the core.  I have programmed in lots of languages over the past
16 years, and I see _nothing_ in C++ that invites me to use this language,
not even the Standard Template Library.  all I have ever learned from all
of my mistakes and my research tells me that C++ is a language that should
only be used by the kind of people who invent stupid ways to avoid hurting
themselves when doing something wrong instead of learning to do something
right -- the kind of people who need to be led to water to realize they
must drink and then don't understand that any water could do equally well,
but cling to the same way they were led in the past.

I went through the first C++ draft that was rejected by conscientious
international standards consultants in a large number of countries, and I
have spent a fair amount of time with the second C++ draft.  C++ was the
first language that managed to turn my stomach.  (the second was Perl.)  I
can't program in C++ because the urge to fix the stupid language is so
overpowering that I can't concentrate on any actual problem.  I thought the
Standard Template Library would be a redeeming quality in this refuse of a
language, but if it is so broken that it only fits with the C++ model of
the world and of computation in general, it's like finding a 1000-carat
diamond in a heap of nuclear waste -- only by keeping sufficient distance
can one appreciate it.  my only experience with the Standard Template
Library has been its specification, which, unlike the rest of the junk, is
actually readable.  (if you wrote the text of those parts of the standard,
you should still be commended for its high quality and clarity.)

but, really, if you can _only_ do it in C++, all of my experience tells me
that that means you're doing something very seriously wrong.  if you wish
to publish a paper on this work (which I would eagerly read), please don't
tie it to C++, but show what it needs to be implemented, so others can
implement it for you in other languages, and please be open to that, or so
other languages can be created without the crud that permeates C++.  e.g.,
a language based on the Standard Template Library might actually be a good
language.  as has already been noted, programming in C++ with and without
templates is like programming in two different languages.  there's no need
to keep the moronic aspects of C++ if the ideas in the Standard Template
Library have significant merit on their own.

[cc'ed since you promise never to post.  I'm not sure that means you're not
going to read news anymore, either.]

if we work harder, will obsolescence be farther ahead or closer?