This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: Standard header format.


On Jun 5, 2004, at 10:30 PM, Steven T. Hatton wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sunday 06 June 2004 00:25, Gabriel Dos Reis wrote:
"Steven T. Hatton" <hattons@globalsymmetry.com> writes:
I have never suggested he didn't know what he was
| talking about.

You did:

# I believe Stroustrup
was # operating under the traditional assumption that the standard headers
are in # fact header files. I do believe that's what he meant.

My intention was that he assumed the implementation the reader would most
likely encounter would have traditional header files. That's why I qualified
'assumption' with 'traditional'.


There are many C++ programmers who have suggested to me the best way to learn
what the standard headers probide is to look a them.

Irrespective of whether Bjarne thinks or thought that that was a good idea, I don't. A production version of the standard C++ library will use all sorts of tricks, for all sorts of reasons. Some of the design goals for a production implementation are: standard conformance (which requires "uglifying" symbols and breaking circular dependences), support for legacy code that used pre-standard versions of the headers, improving run-time performance, improving error detection, improving compilation speed, reducing memory usage. Implementers will use whatever tricks they have to to achieve those (and other) goals, some of which use compiler magic and some of which make the source code less transparent, from the perspective of someone who isn't already very familiar with the library, than it would otherwise be. A production implementation of the standard C++ library is unlikely to be a good pedagogical introduction. Anyone who expects it to be one is going to be disappointed.


--Matt


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