This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [basic-improvements] try/finally support for c/c++ - more tests

On Monday, November 11, 2002, at 05:38  AM, Michael Matz wrote:
On Fri, 8 Nov 2002, Matt Austern wrote:

I have a lot less experience as a gcc maintainer than he does, but
I already have enough experience to have felt burned by language
extensions.  There have been an awful lot of cases where users
report problems with one extension or another, or worse, with some
combination of them, and I have to go through the steps of wondering:
what is this extension supposed to do?  was this particular corner
case ever considered?  what does the documentation say, and it is
right?  has this extension gone stale?  This sort of confusion is a
burden for users and implementors.

Partly the reason I lean toward conservatism is my experience on
standards bodies.  (I know I'm not the only person on this
list with such experience.)  I've learned that language design is
hard.  I've learned also that adding a major new language feature,
and specifying it adequately, is always harder than it looks.  It's
rarely good enough to give a short writeup describing the feature:
what's more common is pervasive changes throughout the specification,
as you describe, one by one, how this feature interacts with what's
already there.
Now all that being said, do you have any concrete issues with this
particular extension than with extensions in general? Being conservative
just for being conservative is not very usefull IMO.
Whereas my opinion is that an attitude toward extensions other than
being conservative is very dangerous.

These are general comments because they have to be.  If you look at
a single extension in isolation, it'll always seem like a good idea.
The answer will always be: sure, we can get this to work, and it'll
be useful to someone or other.  The reason to be scared of uncontrolled
extension isn't that any one extension is terrible, it's the overall
accumulation of one extension after another.  (See Bjarne Stroustrup's
_The Design and Evolution of C++_ for a more complete discussion.)

So for me, the question isn't whether an extension might be useful
for someone, but whether it's so very useful to enough people that it
can overcome a strong bias against adding extensions.  Some extensions
pass that test; I'm not yet convinced that this one does.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]