Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2002-11-24 21:07:18


> I think ACE is an almost perfect model for what we want. The main

I agree there are many good things about ACE.

> things I would like to see done differently in boost are
>
> 1) Use namespaces.
> 2) Support exception handling.
> 3) Use std containers.
> 3) Use other boost libraries.

Yes and:
  5) Try and keep the 'MACRO laden' implementation under control
  6) Be less 'monolithic'
  7) Integrate more cleanly with standard C++ I/O streams
     (where possible -- extend them where needed)

The biggest issue I have with ACE is that it is just way too much
sometimes. If I want to write a simple client app to download a
web page from a URL and process it, I have to take the threading
library and everything else. Not only do I have to download it,
but I have to compile and link to it. Boost has the opportunity
to not fall into this trap from the start.

So I think we should be careful to keep it simple. I think it is
interesting that in Hugo's current implementation, no library is
required. Very nice. I won't be surprised if we need a real
library at some point, but it won't be anything like the size of
ACE.

> Section A.6.3 in C++NP describes the reasoning behind the absence of

In case anyone missed it this is C++ Network Programming by Doug
Schmidt and Steve Huston -- 2 of the prime movers in the development
of ACE.

> exceptions. But as I described in another post I think we can use a
> policy class to support a nothrow interface for people who need it.

They also discuss other issues like performance. I'm in
total agreement with you that exceptions should be the 'out-of-the-box'
policy, but if we can support BOOST_NO_EXCEPTIONS that would be nice.
As described here:

http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostSocket/SocketErrorConcept

Jeff
 


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