Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2003-12-23 07:18:05


"David Abrahams" <dave_at_[hidden]> wrote in message
news:ubrq0cl9b.fsf_at_boost-
[snip]
> >> I'm sure the library's very cool, but it's a little early for a formal
> >> review request if you're only just now exposing it to the world.
> >
> > Well, I've been working on this for quite some time now.
> >
> > If I ask for a formal review now, I estimate that it could at least take
6
> > month before I actually get the review.
> >
> > Even though its my first release of it, I think it is quite well
prepared
> > compared to the normal standard that libraries
> > are usually in before a review.
>
> No offense intended, but I think you're only at this step of the
> process so far:
> http://www.boost.org/more/submission_process.htm#interest

No offence taken :-)

Let me explain why I think I already have been through these stages which
you refer to:

1. Determine interest
2. Preliminary submission
3. Refinement
4. Submission for review

1. Determine interest
---------------------

The problem that my library seeks to solve is basically as old as C++
itself. The need to
manage memory manually has made object oriented programming really
complictated in
C++. There is no end to smart pointer discussions and articles. And finally
it looks like the standard
will get some good smart pointers.

But smart pointers don't solve the whole problem, they still
give overhead (in time and space) and has an awkward syntax. This is
irritating to both beginners and
experienced.

Many people has been interested in smart containers during the past. And
several commercial and non-commercial libraries has provided special
containers for pointers:
QT has some. MFC has some. NTL has it. The latter leaks btw. I wouldn't
trust MFC either. There are
probably more out there...I have only found one more (which also leaks).

2. Preliminary submission
-------------------------

I guess this has been over very quickly for me.

3. Refinements
---------------

I been working for this for some time and I have investigated all the other
libs that does the same to
see what their weaknesses might be. From the beginning I wanted to create
something similar to the standard
library which make it easy for users to catch up. I tried to see---function
by function--if it was possible
to give the same interface (only with pointers) and I evaluated the
exception-safety guarantee for each operation.

I been doing many iterations on my own working on these issues:

a) better syntax: containers of pointers normally have awkward syntax or are
directly unsafe because of the exposure of naked pointer
b) some std algorithms are tricky to use with pointers
c) ownership issues are a bit different for pointers and so it might be
expected that there are some new functionality
d) how do we copy non-copyable objects

The docs you refer to say

"Discuss, refine, resubmit. Repeat until satisfied."

Well, I'm satisfied now. The next step is submission for a review which I've
just done.

Until the review I appreciate all kind of feedback, positive or negative,
but all the major design decisions have been made and I'm willing to defend
them (and I have written a lot of it in the docs).

best regards

Thorsten


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