> 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
 
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to