Sergey Sadovnikov wrote: [ snip]
From the common point of view I completely agree with your opinion. But now we are talking about fundamental language libraries. I think it looks too strange if, for example, C# source code contains something like:
System.String str = "blah-blah-blah"; System.Console.WriteLine(str); //... System.Collections.Generic.Listsome_list = new System.Collections.Generic.List();
:) Because standard C# file template contains at least three usings (System, System.Collections.Generic and System.Text)
Same for Java code. I mean what for other mainstream languages 'using declarations' are a common practice. And if we are talking about beginners, in present time it is hard to explain why programmer have to use full-qualified ids even for standard facilities. Of course 'because it is avoid namespace clash' is quite good explanation. But this explanation looks too strange near other languages. In this case we could get answer like this: 'Are C++ so worst and difficult if even fundamental libraries are not easy-to-use and conflicts each other???'
The thing is that boost is a testbed of libraries aimed for eventual standardization. And when that standardization happens, you have some standard facilities both in std and boost namespaces. Neither C# nor Java has something similar AFAIK, that's why identifier collisions are uncommon in their 'fundamental libraries'. Is this a problem with boost, after all? One can either - not use boost but wait some years for the new standard or a technical report to be published and implemented and then use the libraries in question (avoiding namespace clashes), or - use the boost libraries right away and optionally provide a feedback on them to make the future standard better, but with a clear understanding that writing using-directives for both boost and std namespaces in the same scope may cause problems in the future due to the nature of boost. I guess such an explicit disclaimer would be handy at the top of boost documentation. All this is just my personal point of view, of course. Best Regards, Gevorg