Boost logo

Boost :

From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2003-11-23 00:20:28


[ apologies for jumping into this thread so late ]

| >>> OK, so maybe clone is more likely to be agreed upon than the
| >>> semantics of most other member function names. I hope you get my
| >>> point, though. It's easy to create really broken "generic" designs
| >>> with these sorts of tests. You have to use them very carefully.
| >>
| >> "Me too."
| >>
| >> In my opinion, "named conformance" is the right way to design most
| >> interfaces, whereas "structural conformance" (as above) is the wrong
| >> way.

I believe only experience can tell.

This is not the first time this sort of issues are coming up. For
example, in the earlier stage of template design, many people
have argued against implicit instantiations. I believe that
experience has told us that one of the strenght of C++ is to have stayed
away from what other programming languages have been doing at the
time: require manual instantiation before any single use.

Arguments along the line that C++ should do a thing in a given way
because that is the way languages X, Y, Z have been doing appear to me
a bit suspicious. Those languages have been trying to solve a problem
plus their specifics; it is not clear that they have succeeded and
that their specifics are those of C++; in particular I do not think
that C++ should copy them. That doe snot mean C++ should ignore what
they are doing.

In order not to lose focus, we've tried to write down the design
criteria that should shape the design of concepts in C++.
The post-Kona mailing is now available from the committee site; I
would encourage those people interested in concepts and who weren't in
Kona to download the concept papers, and especially the design
criteria. I admit that they are not as complete as we would have
liked, but they contain key ideas.

[...]

David Abrahams <dave_at_[hidden]> writes:

| I think Jeremy/Jaakko/Andrew/et. al's recent paper shows that those
| explicit declarations are a pain.

They can be handful, but I agree with you that requiring an explicit
declaration before any single use is really painful. It might work in
small, but I doubt it scales well for large systems and independently
developed libraries.

-- Gaby


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk