
On Jun 8, 2009, at 9:15 PM, Hartmut Kaiser wrote:
The bulk are generic language-lifting tools, basically giving the programmer a greater vocabulary. And, even if I bashed math libraries a bit, I would classify the current (as of 1.39.0) libraries as (and I did go through each library, and might have counted wrong with a few units here and there):
1. Language Extensions - 60 (including Statechart and BGL, which are applicable much more often than the developer realizes)
2. Common Types & Features (often part of newer languages standard libraries) - 8 (Accumulate, Numeric Conversion, Date, Format, Random, Regex, Serialization, Xpressive)
3. OS Abstraction Layer - 8 (Filesystem, Asio, Interprocess, Iostreams, Pool, System, Thread, Timer)
4. Math - 8 (Interval, various Math libraries, Rational)
5. Other Specialized - 7 (CRC, GIL, MPI, Proto, Python, Spirit, uBLAS, Units)
The first two categories can be characterized as bringing the language of C++ up to (and beyond) that of newer creations, where the third category is often part of such a standard library. The number of libraries belonging to those three categories is 76.
The latter two categories are clearly domain-specific, though. The number of such libraries is 15.
I know, it's off-topic, but for the records: IMHO, neither Spirit nor Proto are anything but domain specific libraries. Both are _generic_ tools usable in almost any application domain.
I agree, but wanted to rather be biased toward that "dark domain- specific" side to make my point :-) And, I actually put "Spirit" in category #2 when counting. /David