Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-04-27 14:09:14


"David Abrahams" <dave_at_[hidden]> wrote in message
news:uacnkw0cr.fsf_at_boost-consulting.com...
| "Thorsten Ottosen" <nesotto_at_[hidden]> writes:

| > | Controversialness is in the eye of the beholder, and regardless,
| > | Peter's right: by convention, the burden of proof lies with the
| > | claimant.
| >
| > I disagree.
|
| Then I will accept the burden of proof for my claim:
| http://en.wikipedia.org/wiki/Burden_of_proof#Other_uses
| http://www.nizkor.org/features/fallacies/burden-of-proof.html

I don't see how that changes anything.

| > Pick up you're favourite book on OO and on STL and see if the
| > programming techniques look alike.
|
| That's a very parsimonious explanation. It would be nice if you'd try
| to make it a bit clearer in the context of the question of duplicating
| objects, and show how it justifies a choice to prohibit ptr_containers
| from acting like proper values.

the first reason must be its damn expensive without move-semantics.

the second reason is that value-based and OO programming are different and are
best
kept seperate; there are different idioms, different parts of the langauge is
being used.
copying is not that common an operation in OO programming; it is in
value-based programming etc etc.

there has to be one default (with good and bad sides); I've chosen the default
that I feel, based on experience, fits the goal of the
library best; that decision was to make sure the programmer only made copies
when he really wanted to.

you're analogy with vector<string> don't quite fit IMO. assigning
vector<string> might be quite efficient with very few
heap-allocations taking place; assigning ptr_vector<Foo> would cost the same
as copy-construction + deallocation.

| > | > stuff like "value-based programming is not different from
| > | > OO-programming"
| > |
| > | Nobody made that statement.
| >
| > Peter asked the question.
|
| That's very different from making the claim.

but it still feel a silly question to ask me to answer.

-Thorsten


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