Jorgen said:
I just stated what I /think/; didn't claim to answer any particular
question or to be right. (And by "very flat" I meant a handful of
namespaces, occasionally nested one level.)
I don't mind a bunch of namespaces if/when it is appropriate. Flat (as in
most at the same level) occurs naturally though. .Net is pretty flat,
e.g., but has a lot of namespaces. Flat especially if you consider that
the "System" namespace could have been an unnamed global namespace. My
own code uses the global namespace as a "level zero" upon which all other
namespaces are built on top of. I don't see any value in having "level
zero" in a named namespace and find it "unwieldly" to do so. Anyway, one
reason to keep namespace hiearchies flat is to keep complexity of usage
low (less to remember: "now in what namespace did that class get tucked
away?". OTOH, the C++ standard library is too flat for my liking. If all
you want is to keep different developers from walking on each other, then
the One Big Namespace style is fine; I consider that pretty much not
using namespaces though for it gives no benefit to code developed and
used by one developer/team/company (save for keeping it distinct from the
standard library names).