std one namespace for the entire standard library



  • Why? std One namespace All the standard library? Why, for example, did not separate algorithms std::algorithm?



  • The original areas of the name were created to resolve conflicts. Name space is not code decoration, not attribution, not mark, and not even the way to the file. The area of the name is primarily a whole combination of a code in which there is no conflict. The name spaces are also used to avoid the encroachment of the list of available items in the code (whether using the code supplement).

    The Javiists have destroyed their names, their files are names and files are classrooms. As a result, the libraries are growing in deep hierarchies of the areas of the name, and even the basic use of the library may require dozens of spaces. PHPs went on the Java route, and initially the possibility of including the areas of the name was limited and not the best. The result of all this is the absolute need to use complex IDE, otherwise it is impossible to remember where the class is.

    What about C++? In C++, the standard library is sufficiently minimizational, and the classes and functions available in a particular file are dependent on the headlines included, so there is no problem with the list of available names. In addition, C++ was created at a time when there was no very smart IDE, so I had to remember where it was. In addition to the headline files, it's too much to block my memory.

    In general, until the library is in conflict and there is no other reason to use additional areas of names, only one space is sufficient. By comparison, each library in its space has been boosted because libraries exist separately, conflicts can be between libraries and the standard library.


Log in to reply
 


Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2