Magazyn  

Technika kontra nauka
Bogus│aw Jackowski


N auka i technika - s│owa te │▒czy silny zwi▒zek frazeologiczny, zupe│nie jakby istnia│ miΩdzy nimi oczywisty zwi▒zek semantyczny. Niewykluczone, ┐e w pocz▒tkach rozwoju technologicznego rozw≤j nauki istotnie szed│ w parze z rozwojem techniki. Niewykluczone, ┐e jeszcze kiedy╢ tak bΩdzie. Ale na razie wygl▒da na to - szczeg≤lnie w informatyce - ┐e nauka sobie, a technika sobie.

OdrΩbno╢µ obu ╢wiat≤w wyra╝nie widaµ w dziedzinie zajmuj▒cej siΩ teoretyczn▒ analiz▒ wielko╢ci danych i szybko╢ci algorytm≤w, zwanej z│o┐ono╢ci▒ obliczeniow▒. Czy kto╢ z Pa±stwa zetkn▒│ siΩ z dokumentacj▒, w kt≤rej znalaz│o siΩ teoretyczne oszacowanie zasob≤w niezbΩdnych do funkcjonowania programu oraz czasu pracy w zale┐no╢ci od danych wej╢ciowych? W▒tpiΩ. A przecie┐ obyczaj zamieszczania w dokumentacji oszacowania z│o┐ono╢ci stosowanych algorytm≤w m≤g│by stymulowaµ wzrost jako╢ci software'u. Obowi▒zuje wszak┐e inny obyczaj: program dzia│a za wolno - dokupujemy trochΩ pamiΩci; program dzia│a jeszcze wolniej (co, o dziwo, nie dziwi) - dokupujemy wiΩkszy dysk; nic nie pomaga, ale siΩ nie przejmujemy, bo niebawem kupimy now▒ wersjΩ programu, z natury wiΩksz▒ i wolniejsz▒, a wiΩc wymagaj▒c▒ mocniejszego hardware'u, i zabawa zacznie siΩ od pocz▒tku.

PamiΩtajmy jednak, ┐e p≤ki u┐ytkownicy bΩd▒ sk│onni wierzyµ, ┐e oprogramowanie gigantyczne i ╢lamazarne to oprogramowanie nowoczesne, p≤ty producenci nie bΩd▒ wykorzystywaµ metod analizy z│o┐ono╢ci obliczeniowej do optymalizacji sprzedawanego software'u. Trudno mieµ to producentom za z│e. Przy braku nacisku ze strony klient≤w oznacza│oby to dla nich nieuzasadnione koszty. W systemie MS DOS przez wiele lat program "sort" korzysta│ z algorytmu o z│o┐ono╢ci proporcjonalnej do kwadratu liczby wierszy do posortowania, to znaczy dwukrotnie wiΩksze dane algorytm przetwarza│ czterokrotnie d│u┐ej, dane trzykrotnie wiΩksze - dziewiΩciokrotnie d│u┐ej itd. Tymczasem znacznie efektywniejszy algorytm sortuj▒cy powsta│ ju┐ w latach czterdziestych i w│a╢ciwie powinien byµ znany tw≤rcom systemu DOS. Nie s│ysza│em jednak, ┐eby ktokolwiek utyskiwa│ na nieefektywno╢µ dosowego sortowania. W systemie Windows 95 - nie wiedzieµ czemu - sortowanie dzia│a przyzwoicie (w czasie prawie proporcjonalnym do liczby wierszy do posortowania), ale tak jak poprzednio nikt nie narzeka│, tak teraz nikt nie chwali poprawy stanu rzeczy. Byµ mo┐e u┐ytkownicy systemu WIN/DOS rzadko korzystaj▒ z sortowania, ale to z kolei oznacza, ┐e dla wiΩkszo╢ci u┐ytkownik≤w program "sort" to po prostu zbΩdny ╢mieµ na dysku.

Teoria z│o┐ono╢ci obliczeniowej, jak wspomnia│em, zajmuje siΩ nie tylko szybko╢ci▒ algorytm≤w, ale tak┐e wielko╢ci▒ zasob≤w wykorzystywanych przez program. Tu tak┐e nietrudno o przyk│ady niefrasobliwego potraktowania kwestii z│o┐ono╢ci - wystarczy zastanowiµ siΩ nad wielko╢ci▒ plik≤w produkowanych przez niekt≤re popularne programy, takie jak CorelDRAW czy MS Word. W przypadku tych program≤w praktycznie nie ma mo┐liwo╢ci zapanowania nad ilo╢ci▒ bezu┐ytecznej informacji, przechowywanej w plikach. Szczeg≤lnie dotkliwie odczuwa siΩ to przenosz▒c dane miΩdzy r≤┐nymi wersjami czy choµby tylko instalacjami. Je╢li szczΩ╢liwie uda siΩ te dane przenie╢µ, to na og≤│ rozmiar pliku ro╢nie, bywa, ┐e kilkakrotnie. úatwo sprawdziµ, czy plik zawiera "╢mieciow▒ informacjΩ". Wystarczy poddaµ go kompresji, na przyk│ad za pomoc▒ programu ZIP: je╢li kompresja jest znacz▒ca, to wolno przypuszczaµ, ┐e producent niestarannie zaprojektowa│ format danych i ┐e nieoszczΩdnie gospodaruje pamiΩci▒ dyskow▒, czyli - m≤wi▒c wprost - ┐e szasta pieniΩdzmi u┐ytkownika.

Kompresja danych to r≤wnie┐ bardzo stary wynalazek informatyczny - k│aniaj▒ siΩ lata czterdzieste i piΩµdziesi▒te. Zwa┐my przy tym, ┐e informatyka teoretyczna nie spoczΩ│a na laurach w tamtych czasach i - przynajmniej do niedawna - nie strzeg│a zazdro╢nie swoich osi▒gniΩµ, w odr≤┐nieniu od techniki, ┐e wspomnΩ parΩ spektakularnych proces≤w s▒dowych o prawa autorskie do niekt≤rych rozwi▒za± software'owych.

Tak wiΩc technika - jak na razie - kroczy w│asn▒ drog▒. Jest to zrozumia│e: po co cyzelowaµ programy i dane, korzystaj▒c z dorobku nauki w tej dziedzinie, skoro wystarczy do│o┐yµ parΩ ,,gwizdk≤w i dzwonk≤w" i zaleciµ nabycie komputera wiΩkszej mocy? U┐ytkownik chΩtnie wyda pieni▒dze, by mieµ lepszy komputer i nowszy program - to poprawi jego samopoczucie. I tak hardware z softwarem maszeruj▒ rΩka w rΩkΩ, stawiaj▒c kroki na przemian: rozrasta siΩ software - zwiΩksza siΩ moc hardware'u - rozrasta siΩ software - zwiΩksza siΩ moc hardware'u... Tylko co ja poradzΩ, ┐e ten marsz dw≤ch tytan≤w ku ╢wietlanej przysz│o╢ci dziwnie mi siΩ z porzekad│em "wi≤d│ ╢lepy kulawego" kojarzy?

Bogus│aw Jackowski sentymentalny sceptyk (jak sam siebie okre╢la), od przesz│o µwierµ wieku paraj▒cy siΩ informatyk▒. Zwolennik oprogramowania solidnego. Hobby - typografia komputerowa.

(c) Copyright LUPUS