Well-known numbers in the IT world

4 august 2022
Jakub Rojek Jakub Rojek
Photo by Digital Buggu from Pexels (https://www.pexels.com/pl-pl/zdjecie/drewniane-klocki-do-nauki-duzo-na-biurku-311269/)
Categories: Industry

Wielokrotnie pisaliśmy na tym blogu o terminach używanych w świecie IT i o tym, jak wpływają one na komunikację nie tylko wewnątrz zespołu informatycznego, ale też w codziennej współpracy z klientami, użytkownikami i wszystkimi, dla których tworzenie aplikacji nie jest codziennością. Podczas takich rozmów specjaliści zwykle się pilnują, ale istnieją frazy i nazwy, które mogą wymsknąć się całkowicie naturalnie, gdyż pewne sytuacje trudno opisać w inny sposób. Jednocześnie, programiści zwykle mają nadzieję, że to, co mówią, jest całkowicie jasne dla innych osób. A niestety, zazwyczaj tak się nie dzieje, mimo coraz większej liczby materiałów tłumaczących zawiłości informatyczne (jak choćby u nas, gdzie wyjaśnialiśmy m.in. filtrowanie oraz skalowanie). A jeśli dodać do tego jeszcze branżowe żarty, memy i oznaczenia liczbowe...

Te ostatnie będą leżeć dzisiaj w centrum naszego zainteresowania. Dobrze wiemy, że w różnych branżach istnieją wszelakie liczby mające specjalne znaczenie - choćby w sporcie "setka" to albo sytuacja stuprocentowa, albo sprint na 100 metrów. W warsztatach "16-tką" może być klucz, a z kolei w elektronice można tak określać 16-calowy ekran. Sami pewnie bylibyście w stanie podać wiele takich przykładów ze swojej dziedzin zawodowych. Tak jest też z nami - programistami. Istnieją liczby, którymi można opisać dosyć typowe sytuacje, jakie mogą zdarzyć się podczas tworzenia bądź użytkowania apikacji, a są też takie, które po prostu są wpisane w komputerowy żargon i można je traktować w kategorii tzw. inside joke'ów.

Dzisiaj przyjrzymy się właśnie niektórym określeniom numerycznym, których można doszukać się w rozmowach programistów lub ogólnie światku IT. I tak - ten tekst będzie zdecydowanie luźniejszy.

2, 4, 8, 16, 32, 64, 128...

Na początku klasyka, a mianowicie system dwójkowy. Cała informatyka polega na bitach i bajtach, a te są ściśle związane z kolejnymi potęgami liczby 2. To nie oznacza, że "komputerowcy" nie operują normalnymi "okrągłymi" liczbami w postaci 10, 20 itd. - operują, ale dodatkowo dość dobrze są w stanie skojarzyć takie wartości jak 2048 czy 65536, co dla zwykłego człowieka jest... dziwne.

Z tego powodu np. pamięci RAM rzadko wykraczają poza wartości 8, 16 czy 32 GB RAM oraz powstają żarty o tym, że informatyk, zamiast pożyczyć 1000 zł, pożyczy 1024 "aby zaokrąglić". Liczba dwa i jej kolejne potęgi są nierozerwalnie związane z tą branżą i to mimo że w dobie nowoczesnych technologii, programiści rzadko muszą sięgać po niskopoziomowe rozwiązania oraz umiejętne przeliczanie bajtów. Choćby niedawno niżej podpisanemu zdarzyło się przygotowywanie mechanizmu ról, który opiera się na iloczynie binarnym liczb zapisanych w postaci heksadecymalnej, a więc rozwinięciu systemu dwójkowego.

Dlatego też swego czasu twórcy gier jako maksymalne wartości np. punktów zdrowia zapisywali pozornie nienaturalne 255 - jest to największa wartość, jaką można zapisać w jednym bajcie, a więc 8 bitach (co daje 28 - 1 = 255). A jeden megabajt to nie 1000 KB, tylko 1024 KB, choć tutaj to akurat nie jest do końca prawda - funkcjonują również bowiem jednostki pochodzące z systemu dwójkowego i w tym przypadku powinniśmy mówić o mebibajcie. Ale kto by się tym przejmował.

0 i 1

Cały system dwójkowy opiera się na dwóch wartościach - zerze i jedynce. Logicznie odpowiadają one za stan wyłączony i włączony, więc trudno się dziwić, że z tego powodu mają one znaczenie również w programowaniu, m.in. dając "życie" parametrom włączającym daną funkcjonalność. Ale nie może być za prosto - 0 nie oznacza zawsze stanu wyłączonego. Przykładowo, w języku C zwrot return 0 oznacza zwrócenie informacji, że wszystko skończyło się dobrze i nie nastąpił żaden błąd. Dziwne, ale tak jest.

404

Odejdźmy teraz od systemu binarnego i przejdźmy do zdecydowanie bliższych nam aplikacji webowych. Te opierają się zwykle o żądania HTTP, który wprowadza m.in. kody statusów. To są te dziwne numerki, które czasem wyświetlają się na ekranie, gdy np. strona nie chce się załadować. Wówczas aplikacja może powiadomić nas, że nastąpiło tajemnicze "404 Not Found". Jest to standardowy kod błędu występujący w przypadku, gdy dany zasób (np. strona, plik itd.) nie mógł zostać znaleziony na serwerze. Dlatego programiści czasem pytają "czy strona rzuca 404-tką" w danej sytuacji.

500

Innym znanym kodem błędu jest tzw. 500-tka, którą tłumaczy się jako "Internal Server Error". Widząc takie coś, programiści mają informację, że problem wystąpił nie z winy użytkownika ani w aplikacji klienckiej, ale jest skutkiem nieprzewidzianej (lub źle zrealizowanej) operacji po stronie kodu na serwerze. Zazwyczaj wyświetlany jest w ten sposób, aby zamaskować prawdziwy powód przed użytkownikiem (utrudniając ewentualne "hakowanie") oraz w celu zabezpieczenia fragmentów programu - jest to tylko informacja, że programiści powinni koniecznie spojrzeć do tzw. logów.

x86 i x64

Wróćmy na chwilę do systemu dwójkowego - istnieją bowiem jeszcze oznaczenia architektur x86 oraz (obecnie znacznie częściej) x64. Jest to nic innego jak architektury 32- oraz 64-bitowe, na których działają nasze komputery, w tym sprzęt oraz systemy operacyjne. Jeszcze kilka lat temu było istotne przy instalacji oprogramowania, na jaką architekturę jest przeznaczaone dana wersja. Obecnie, przy rozpowszechnieniu 64 bitów, nie ma to już takiego znaczenia, ale można jeszcze spotkać się z tym określeniem tu i ówdzie.

80-tka

Innym zbiorem wartości związanym z sieciami są porty, które stanowią "bramę" do różnych usług przy łączeniu komputerów. Istnieją porty standardowe, do których należy m.in. 80, z jakich jeszcze nie tak dawno korzystaliśmy wszyscy, często nawet o tym nie wiedząc. Jest to bowiem domyślna bramka dla HTTP, a więc m.in. stron internetowych. Tak naprawdę wpisując "wildasoftware.pl", mogliśmy trafić pod adres "wildasoftware.pl:80".

Mogliśmy, ale jednak tego nie robiliśmy. Od dłuższego czasu większość stron (słusznie) przechodzi na protokół szyfrowany HTTPS, dla którego domyślny port to 443. Tym niemniej, 80-tka nadal jest często używanym portem przy sprawdzaniu np. dostępności usług na różnych maszynach podczas ich konfigurowania.

1337

A teraz coś z dawniejszych internetowych czasów, kiedy z sieci korzystali wyłącznie pasjonaci i siłą rzeczy trzeba było radzić sobie z większą liczbą problemów samodzielnie. W ten sposób rodzili się hakerzy oraz generalnie elita komputerowa. I właśnie tych ostatnich opisuje liczba 1337 - jest to odczytywane jako "leet", a więc zdeformowane słowo "elite".

Ta wartość pochodzi z tzw. języka leetspeak, slangu powstałego w latach 80. XX wieku, mającego za zadanie dać tożsamość użytkownikom globalnej wioski (uważającej się wtedy za wyjątkową społeczność), a także omijać pewne ograniczenia (w tym cenzurę) związane z używanym słownictwem. Obecnie ta liczba nie jest aż tak powszechnie kojarzona, ale nadal przypomina o starych dobrych czasach, kiedy było trudniej, mniej przystępnie, ale jakoś tak... swojsko.

127.0.0.1

Tym razem ciąg znaków, także mocno związany ze stronami internetowymi. Jeśli ktoś wyśle Wam adres do strony, który będzie zaczynał się od takich liczb, to możecie śmiało zapytać się, czy na pewno nie skopiował czegoś, czego nie chciał kopiować. Jest to bowiem odpowiednik adresu lokalnego localhost, a więc tak jakby adres IP swojego komputera. Oczywiście, to nie jest do końca tak - adres IP w istocie jest czymś innym. 127.0.0.1 to wskazanie na siebie i tylko na siebie oraz swoje zasoby. To środowisko, na którym bardzo często pracują programiści, przygotowując aplikację na swoich komputerach.

Googol

Na koniec nie tyle liczba zapisana w sposób numeryczny, co w sposób tekstowy, za to bardzo silnie związane z branżą. A dokładniej z jedną firmą, która w tej branży jest określana różnie - czasem mianem "dominatora", a niekiedy wręcz "monopolisty". Oczywiście, chodzi o Google, którego pierwotną nazwą był googol (10100), co z kolei jest skróconą nazwą googolplexa (1010100). Są to wartości niewyobrażalne dla nas, gdyż opisują wielkości liczniejsze niż liczba atomów we Wszechświecie. To dość wymownie pokazuje rozmach, z którym Google (którego nazwa powstała przez pomyłkę przy zapisie "Googol") chciało działać od samego początku.

Podsumowanie

Jak widać, za niektórymi liczbami używanymi w codziennych rozmowach "IT guyów" stoją całkiem ciekawe historie, a powyższe zestawienie to na pewno niekompletna lista. Są to najczęściej używane liczby w świecie IT, które w dodatku przedostają się czasem do świata zewnętrznego i popkultury. Warto je znać, choćby dla samej satysfakcji i zaskoczenia kogoś ciekawostką.

Pozdrawiam i dziękuję - Jakub Rojek.

We write not only blog articles, but also applications and documentation for our clients. See who we have worked with so far.

About author

Jakub Rojek

Lead programmer and co-owner of Wilda Software, with many years of experience in software creation and development, but also in writing texts for various blogs. A trained analyst and IT systems architect. At the same time he is a graduate of Poznan University of Technology and teaches at this university. In his free time, he enjoys playing video games (mainly card games), reading books, watching american football and e-sport, discovering heavier music, and pointing out other people's language mistakes.

Jakub Rojek