Dwa oblicza HTML-u (artykuł wstępny z numeru 1/99 "Internetu") Zadzwonił do mnie niedawno stary znajomy, który zajmuje się na co dzień składem komputerowym. Właśnie dostał fuchę - za spore pieniądze miał wykonać jakąś reklamówkę na papierze i dodatkowo w postaci strony WWW. Przedtem nie miał w ogóle styczności z dłubaniem w HTML-u, dlatego chciał zasięgnąć u mnie porady. Po krótkim wstępie najeżonym kąśliwymi uwagami adresowanymi do twórców standardu HTML zaczął zadawać pytania. Jak w tym kretyńskim HTML-u wyrównać tekst do prawego marginesu? Dlaczego wszystko się "rozjeżdża"? Dlaczego nie mogę użyć różnych czcionek w obrębie jednego akapitu? Jak się kontroluje interlinię? (odstęp między kolejnymi wierszami tekstu - przyp. mój)? Co to za durne style H1, H2 itd. i dlaczego nie mogę ich zmienić? Dlaczego nie działa tabulacja? Czy nie da się "po ludzku" ustawić obrazków? I tak dalej... Gdym mu zaczął tłumaczyć, na czym polega problem i jakie to kolosalne ograniczenia narzuca język opisu strony internetowej, jego komentarze odnośnie twórców i w ogóle całej idei HTML-u przerodziły się w stek przekleństw, których tu raczej nie da się zacytować. W końcu jakoś udało mi się go uspokoić, poleciłem mu kilka książek i na tym nasza rozmowa się zakończyła. Dała mi jednak mocno do myślenia. Przede wszystkim przypomniałem sobie moje pierwsze chwile z HTML-em - jak ja wtedy kląłem! Miałem dokładnie identyczne pretensje, byłem kompletnie zdegustowany i załamany tym, iż nie mogę zrobić nawet najprostszych rzeczy - to znaczy nie mogę ich zrobić tak jakbym chciał. Do czego zmierzam? Otóż chciałbym zadać kłam stwierdzeniu, że HTML jest wspaniały i w ogóle. Nieprawda! Twórcy HTML-u poszli po najmniejszej linii oporu i teraz wszyscy musimy się męczyć. Ja wiem, że w czasach, gdy rodziła się idea HTML-u sieć zupełnie nie przypominała dzisiejszej, inne były komputery, przyzwyczajenia itd. Jednak już wtedy można było przewidzieć, że za kilka lat świat komputerów zdominują systemy okienkowe, w których rozmieszczanie elementów strony z dokładnością do piksela nie będzie stanowiło problemu. Wystarczyło przyjąć prostą zasadę, znaną każdemu, kto choć trochę miał do czynienia z DTP: każdy element na stronie potraktować jako obiekt i podawać jego współrzędne względem lewego górnego rogu ekranu (współrzędne 0,0). W ten sposób nie istniałby dzisiaj problem różnych rozdzielczości, odmiennej interpretacji HTML-u przez różne przeglądarki (co doprowadza wielu webmasterów do szału), tekst nie rozjeżdżałby się przy zmianach rozdzielczości, nie byłoby konieczności używania tabel. Gdyby każdemu elementowi przypisać jeszcze kilka narzucających się parametrów (np. dla tekstu rozmiar w pikselach, rodzaj i atrybuty czcionki; dla obrazków wielkość odstępu od oblewającego tekstu dla każdego boku itd.), uzyskalibyśmy kompletną, bardzo prostą specyfikację, pozwalającą rozmieszczać dowolne elementy w dowolnych miejscach na stronie. Kodowanie byłoby znacznie łatwiejsze, a kod bardziej przejrzysty. Zapewne wielu Czytelników mogłoby zaproponować inne rozwiązania, oparte na innej zasadzie, ale również o niebo lepsze od ułomnego HTML-u. Weźmy choćby taki PostScript. Ten język opisu strony odwzorowuje wszystkie elementy z nieprawdopodobną dokładnością, rzędu 3600 punktów na cal (można właściwie zdefiniować dowolną dokładność) i jakoś nie ma z nim kłopotów. Więcej, nikt przy zdrowych zmysłach nie koduje bezpośrednio w PostScripcie, bowiem gotowy i bezbłędny kod generują programy do DTP na podstawie obrazu strony widocznego na ekranie operatora (WYSIWYG). W tym wypadku nikt nie zgłasza zastrzeżeń co do metody tworzenia bo i po co - wiadomo, że komputery mają ludziom ułatwiać pracę, a nie komplikować. Tymczasem w HTML-u ciągle dłubiemy na niskim poziomie, ręcznie zmieniając parametry znaczników i borykając się z podstawowymi problemami, bo dowolność interpretacji jest na tyle duża, że programy działające w trybie WYSIWYG nie radzą sobie z poprawnym generowaniem kodu wynikowego. Oczywiście, wszyscy zdajemy sobie sprawę, że od HTML-u nie ma odwrotu. Standard ten pozostanie w Internecie prawdopodobnie na zawsze, choć z roku na rok będzie obrastał w nowe rozszerzenia i różne wymyślne dodatki mające na celu m.in. obejście pierwotnych ograniczeń. W konsekwencji kodowanie stron WWW będzie stawało się coraz trudniejsze, dostępne dla nielicznego grona wtajemniczonych (już teraz, aby wykonać głupi interaktywny przycisk, trzeba posiłkować się skomplikowanymi skryptami, których dokładna składnia znana jest chyba tylko samym ich twórcom). Będą się też pogłębiały różnice w interpretacji HTML-u przez różne przeglądarki. Ale cóż, machinę raz puszczoną w ruch niełatwo zatrzymać. Nie chciałbym, aby ten tekst został odebrany jako potępienie HTML-u. W prostych zastosowaniach język ten sprawdza się doskonale. Pragnę jedynie zwrócić uwagę, że choć jest to powszechnie obowiązujący standard, daleko mu do ideału. A już na pewno nie ma się czym zachwycać. Krystian Grzenkowicz (kg@mi.com.pl)