Re: C++ Frequently Questioned Answers
Jerry Coffin wrote:
In article <mr-dndWKz9q5sbTanZ2dnUVZ_tijnZ2d@comcast.com>,
walter@digitalmars-nospamm.com says...
[ ... ]
I.e. it *is* a problem with the language. The C++ committee recognizes
this, as concepts are an attempt to make it easier to generate better
error messages. How well this will turn out is too soon to know.
Yes and no. It's true that it's technically too soon to know about
concepts as part of the official C++ language, because (of course) they
won't be for a while. OTOH, concepts have been implemented in conceptgcc
so it's entirely reasonable for just about anybody who cares to download
a copy and start testing anytime they want to.
My own experience is pretty simple: using conceptgcc, virtually all of
the hard to read error messages simply disappear, at least for code that
actually uses concepts. Of course, nothing forces you to do that, so if
you want to write code that generates arbitrarily lousy error messages,
you can still do so.
I think it's very good that some of these new features are being tried
out in real implementations before finalizing them in the standard.
Frankly, I think *all* of the proposed new features should be tried out
in a real compiler before voting them in the standard. This would help
avoid disasters like the C++98 export. Even simple things should be
tried out, as it was discovered that the 'auto' feature was
unimplementable as specified.
Although conceptgcc does exist and that is great, realistically, a
complex feature like that needs to be in real use for years by a lot of
people before it becomes clear whether or not it solves the problem. For
example, namespaces were implemented and in wide use for years before
people realized that they didn't really work.
See the infamous "so sue me":
http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/d9eb5db7019673e0/1aaae5a80f53bd4f?hl=en&lnk=st&q=namespaces+scott+meyers+%22so+sue+me%22#1aaae5a80f53bd4f
----
Walter Bright
Digital Mars C, C++, D programming language compilers
http://www.digitalmars.com
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]