Programming languages have namespaces which are logical containers of names/identifiers. Inside these containers each name must be unique. There can be multiple namespace containers. Each one is a group of names with some similarity (like being apart of the same program, library, function, block, name type [like variables & functions or label names], etc.).