
On Thu, 5 Feb 2004 09:20:09 -0500, Bennett, Patrick wrote
Honestly, I'd suggest you just use ACE for threading/synchronization primitives. It's available for a large number of platforms and is heavily used and frequently updated.
All true.
I like Boost a lot, but I think some people are trying to make Boost more than (IMO) it should be. People discussing efficient io dispatch techniques for example would be better served to just use ACE, which already does many of these things extremely well. (http://www.cs.wustl.edu/~schmidt/ACE.html)
I say that it depends. If you need networking, threading, event loops, etc, in C++ right now then yes, by all means you need to look at ACE. That said, ACE is a huge library that is reasonably difficult to learn and that suffers from it's own legacy. That legacy includes a long list of platforms, compilers, and standard libraries that don't even come close to standard C++. As a result ACE's code base is a macro nightmare and it doesn't utilize the standard library as much as I'd like to see (it was around pre-standard library). Right now boost threads is a minimalist solution without all the legacy. So if I was trying to do some basic thread management I'd be looking at Boost first and ACE second. Further, even though I have used ACE sucessfully for years, I'd like to see Boost libraries for networking and threading continue to move into ground where I currently use ACE. The reason is simply that I believe choice and diversity is good. And if the standards committee is ever going to look at a networking library I'd like to have a Boost, more minimalist solution on the table for discussion because I don't see how ACE can fill that bill.... Jeff