
Beth Jacobson writes:
I think this categorization is the best I've seen so far (mine included). I'd like to see no more than 7-8 major categories though, to make the list seem more accessable and browsable.
Seems like an arbitrary limit to me.
How about if we grouped some of your categories like this:
** Language Enhancements (change the one below to "C++ Core Enhancements")
* Language Enhancements - libraries that make the standard C++ core language easier and safer to use, or extend its capabilities in "language-like" ways. Many relieve common frustrations of programmers with the C++ language.
Datatypes: variant, optional/in-place-factories, tribool, integer
Language extensions: foreach, enable_if, parameter, ref
Safety: conversion, value_initialized, checked_delete,
* Standard Library Enhancements - libraries that make the standard C++ library easier and safer to use or extend its capabilities in evolutionary ways. Many relieve frustrations commonly encountered when using the standard library (see also Functional Programming)
IO: io state saver, iostreams, format
Containers/data structures: assign, pointer container, array, bitset, multi_index, multi-array, tuple
Iterators: iterators, next/prior, range
Algorithms: minmax
How does adding a level of hierarchy make things "more accessible"? For me, it's quite the opposite: it increases chances that I'll have to browse through insides of several categories because the top-level names are so generic that the library I'm looking for could be in half of them. -- Aleksey Gurtovoy MetaCommunications Engineering