Dlaczego nie możesz nazwać pliku „CON” w systemie Windows?
Nazwy zarezerwowane

To nie jest wymysł, spróbuj sam: otwórz Notatnik i zapisz coś jako „con.txt”. Odpowiedź systemu Windows będzie taka, że nazwa pliku „jest zarezerwowany do użycia”. „CON” nie jest jedynym wyrażeniem obciążonym tym warunkiem. Istnieją również stare odniesienia do portów szeregowych, portów równoległych i urządzeń pomocniczych, które nigdzie się nie wybierają. Dlaczego wciąż tu są? Krótka odpowiedź to „kompatybilność wsteczna”, ale youtuber Tom Scott zgłębia to nieco głębiej w jednym ze swoich ostatnich filmów…

Zmiany w każdym środowisku informatycznym są szczególnie trudne do przetworzenia. Wciąż dobrze pamiętamy skargi użytkowników za każdym razem, gdy Facebook zmieniał interfejs, czy opór wobec systemu Ribbon w Office 2007, który w zasadzie wrzucił do kosza całe lata przyzwyczajeń i pamięci mięśniowej. Inny niedawny przykład to COBOL i potrzeba „rekrutowania” nowych programistów do utrzymania mainframes mających ponad 30 lat na barkach.

Znalezienie dokładnej równowagi między nowością a znajomością jest bardzo trudne i niejednokrotnie wymaga zaakceptowania pewnych kompromisów. Na przykład Windows wciąż zawiera elementy sięgające buildów 3.x i zależności od MS-DOS, ale są rzeczy jeszcze starsze. Najbardziej „medialny” przypadek (jeśli można to tak nazwać) to nazwa „CON”. Za każdym razem, gdy próbujemy jej użyć do zapisania pliku lub utworzenia folderu, Windows informuje, że to „nazwa zarezerwowana”. Dlaczego?

Tom Scott wyjaśnia, że zarówno CON, jak i pozostałe zarezerwowane nazwy (pełna lista jest udokumentowana tutaj) to odwołania, które pozwalały (i nadal pozwalają) użytkownikom „rozmawiać” z określonymi urządzeniami i wysyłać do nich informacje. Ich dokładne pochodzenie zmusza nas do podróży do połowy lat 70., epoki zdominowanej przez CP/M i ograniczenia techniczne tych skromnych komputerów.

Chociaż nasze zgłębienie tematu jest nieco głębsze, film Toma czyni to bardziej wizualnym: zarezerwowane nazwy istnieją, aby zagwarantować kompatybilność wsteczną, nawet jeśli zaangażowane interfejsy fizyczne są niemal wymarłe (bardzo rzadko można znaleźć komputer z Windows 10, który wciąż ma dedykowany port równoległy).

Tom wspomina również o bardzo szczególnym przypadku, jakim jest słynny „bug z 29 lutego 1900” w Microsoft Excel. Rok 1900 nie był przestępny, jednak gdy Excel po raz pierwszy trafił na rynek dla Windows w 1987 roku (dwa lata wcześniej na Macu), jego głównym konkurentem był Lotus 1-2-3… który obciążony był tym błędem. Decyzja Microsoftu, w imię kompatybilności wstecznej z arkuszami 1-2-3, polegała na odtworzeniu błędu w swoim oprogramowaniu. Ten „błąd” pozostaje tam 33 lata później i jest częścią oficjalnych specyfikacji.