poprzedni koniec spis kolejny
Tekstem do mnie mów
Bogusław Jackowski

Związek cytat między literkami na klawiaturze a literkami wyświetlanymi na ekranie komputera wydaje się oczywisty: klepiemy w klawisz z literką „A” i na ekranie wyświetla się literka „A”. Większość użytkowników dywagacje tego rodzaju skwitowałaby krótko: a jak ma być? Taki jest los genialnych rozwiązań – działają niezauważalnie. Ich istnienie odczuwa się dopiero wówczas, gdy coś się zepsuje. Kto na co dzień uświadamia sobie, jak bardzo się zżył z elektrycznością, kanalizacją i bieżącą wodą? Ale niech no tylko wyłączą nam prąd... W przypadku numeracji znaków rolę „braku prądu” odegrały znaki diakrytyczne – litery z ogonkami, akcentami, cedillami. Obecna architektura komputerów podkusiła twórców oprogramowania do przeznaczenia na znak jednego bajtu, ale okazało się, że 256 numerów to za mało. Do tego doszła scheda maszyn do pisania, po których komputery odziedziczyły klawiatury (z nielicznymi chlubnymi wyjątkami – takimi jak na przykład mikrokomputery ZX Spectrum) oraz scheda dalekopisów, po których zostały dwa znaki końca wiersza – CR (carriage return) i LF (line feed) – używane, o dziwo, tylko na trzy sposoby, zamiast teoretycznie możliwych czterech. Wszystko razem spowodowało, że nie tylko na początku był chaos. I wygląda na to, że jeśli chodzi o kodowanie znaków, to jeszcze trochę pobędzie.

Nie w konkretnym kodowaniu wszakże (aktualnie miłościwie nam panuje ASCII – American Standard Code for Information Inter-change, który śmiało można obarczać odpowiedzialnością za wspomniany chaos) tkwi genialność pomysłu ponumerowania liter alfabetu, cyfr, znaków przestankowych i co ważniejszych symboli. To sama idea ponumerowania była genialna. Jej bezpośrednią konsekwencją było pojawienie się tekstowego formatu danych, co w istotny sposób przyczyniło się do szybkiego rozwoju technologii komputerowej.

Rzecz w tym, że człowiek łatwiej czyta, rozumie i zapamiętuje litery układające się w słowa, niż ciągi cyfr binarnych, na które koniec końców zamieniane są wszelkie dane wprowadzane do komputera. Gdy komputery wyprą człowieka, to rozumienie języka, którym komputery porozumiewają się ze sobą, będzie zbędne. Ale na razie człowiek musi móc się wtrącić do rozmowy komputerów.

Wadą formatu tekstowego zdawała się ongiś redundancja – na przechowywanie danych w postaci binarnej można przeznaczyć mniej bitów niż na dane tekstowe. Teoretycznie. Współczesne komercyjne formaty binarne (np. format *.doc pewnego popularnego edytora tekstów) zawiera tyle śmiecia, że po zamianie na format tekstowy objętość danych maleje wielokrotnie...

W dawnych czasach zdarzyło mi się programować binarnie – wprowadzałem programy bezpośrednio do pamięci komputera za pomocą specjalnej klawiatury. Programy były wprawdzie nieduże, ale za to wrażenie, jakie to drobne z pozoru doświadczenie na mnie wywarło – ogromne. Wówczas zacząłem doceniać format tekstowy. Dziś jestem jego zagorzałym orędownikiem.

Istnienie formatu tekstowego stanowi podłoże, na którym wyrosły języki programowania – osiągnięcie nie do przecenienia w historii informatyki. Temu pomysłowi zawdzięczamy możliwość efektywnego przenoszenia programów z komputera na komputer.

W systemie Unix tekstowy format danych jest stosowany jako zasadnicza forma komunikacji między programami (piping). Dzięki temu wszystkie programy porozumiewają się w jednolity, stabilny sposób. To pozwala programom-noworodkom dogadywać się bez kłopotu z programami-dziadkami, a tym samym programy nie starzeją się aż tak gwałtownie, jak na rynku komercyjnym, poganianym przez nowości niekompatybilne z czym tylko się da.

ilustracja humor Nieprzypadkowo do kanonu systemu Unix weszły programy takie jak grep, sed, awk, perl, diff, patch, pozwalające z plikami tekstowymi wyczyniać różne sztuki – modyfikować, porównywać, wyszukiwać dane. Narzędzia te sprawiają, że pielęgnacja danych przechowywanych w postaci tekstowej jest wygodna i niezawodna. W wielu wypadkach programów tych można używać do obsługi tekstowych baz danych, aczkolwiek nie należy z tym przesadzać – przy bardziej złożonych zagadnieniach zalecałbym jednak posługiwanie się specjalizowanymi narzędziami.

Obszarem informatyki, w którym format tekstowy wspaniale się sprawdził, jest WWW (World Wide Web). Mało kto upatruje źródeł sukcesu WWW w wykorzystaniu formatu tekstowego jako podstawowego nośnika informacji – języka HTML (Hyper Text Markup Language). Ja upatruję. I uważam, że Timothy Berners-Lee, twórca WWW, zasłużył na wdzięczność informatycznej braci nie tylko z powodu sukcesu idei, nie pochodzącej zresztą od niego, ale też – a może przede wszystkim? – z powodu wskazania właściwej drogi światowym gigantom oprogramowania.

Pozytywne doświadczenia z HTML-em skłoniły projektantów kolejnej edycji najpopularniejszego systemu operacyjnego do decyzji, by to format tekstowy stanowił podstawowy nośnik informacji systemowej. Ma nim być język XML (Extensible Markup Language) – spadkobierca HTML-a. Wygląda mi to na ponowne wynalezienie koła. Ale to nie zarzut – koło też z pewnością wymyślano wielokrotnie. Ważne, żeby dobry pomysł w końcu się przyjął.


poprzedni start spis kolejny