Przestrzeń nazw (ang. namespace) – abstrakcyjne uniwersum, którego elementami mogą być nazwy, terminy techniczne lub słowa. W obrębie dowolnej przestrzeni nazw każda nazwa musi być niepowtarzalna. Przestrzeń nazw jest kontekstem, w którym słowo może być jednoznacznie przypisane do reprezentowanego przez nie pojęcia ze świata rzeczywistego.

Każdy język to przestrzeń nazw, niezależnie czy jest to język naturalny, sztuczny, żargon techniczny jakiegoś zawodu, czy język formalny (na przykład język programowania). Niektóre nowoczesne języki programowania obsługują wiele przestrzeni nazw (Java, C++, Delphi for .NET). W odrębnych przestrzeniach nazw mogą istnieć różne obiekty o identycznych nazwach. Do konkretnej nazwy, zdefiniowanej w wybranej przestrzeni nazw, można odwołać się za pomocą selekcji.

Przykłady edytuj

Wewnątrz ograniczonego świata Twojej rodziny, możesz być znany jako „Maciek”. W większej grupie obcych osób słowo „Maciek” może nie być unikatowe, więc przedstawisz się jako „Maciek Barański, ulica Główna 17”. W jakiejś innej rodzinie (w jej przestrzeni nazw), słowo „Maciek” będzie prawdopodobnie oznaczać zupełnie inną osobę.

Innymi przykładami przestrzeni nazw mogą być katalogi na dysku w Systemie operacyjnym lub adresy URL. Np. na Wikipedii istnieje przestrzeń nazw Kategoria:, po której następuje nazwa kategorii, czyli wszystkie strony kategorii są w tej przestrzeni nazw.