Czytelnia i książki » Powiastki fantastyczno-teolog.
Grupa Laokoona [1] Autor tekstu: Ziemowit Ciuraj
Spaghetti code — wada programu polegająca na tym, że jego tekst jest zagmatwany i nieczytelny. Spowodowana jest najczęściej zbyt częstym użyciem instrukcji
skoku bezwarunkowego, co podczas analizy tak napisanego programu bardzo utrudnia zrozumienie, jakie działania wykonują poszczególne partie kodu. Zazwyczaj
świadczy o braku profesjonalizmu i dyskfalifikuje program, praktycznie uniemożliwiając jego rozwijanie i usuwanie błędów.
Sztuka programowania to domena na wskroś ezoteryczna. Posiada swoje stopnie wtajemniczeń, poczynając od nowicjusza, który dokonuje inicjacji kompilując
swój pierwszy testowy program i po raz pierwszy widząc na ekranie napis „Hello World!" przeżywa mistyczne niemal uniesienie, przez pierwsze modyfikacje
cudzego kodu i wyłączenie ograniczeń wersji bezpłatnej. Potem adept przechodzi etap programowania modularnego aby wreszcie dostąpić chwały uruchomienia
pierwszego programu wykorzystującego obiekty. Ale mało kto wie, nawet w gronie tych, którzy posiedli arkana sztuki programowania równoległego, że
najwyższym na tej drodze stopniem biegłości jest napisanie wielkiej aplikacji użytkowej dla poważnej firmy w stylu spagetti.
Rzecz jasna tego rodzaju produkcje zawsze muszą posiadać swoją dokumentację; twórcy używają jej tak, jak inżynier używa planu konstruowanego budynku. Nadto
programiści zmieniają się; następca musi mieć możność dogłębnego zapoznania się z obszarem odpowiedzialności poprzednika. Ale jeżeli z różnych względów
wgląd w program ma tylko jeden człowiek a osoba koordynująca projekt, która przegląda dokumentację, nie jest na tyle kompetentna, lub zwyczajnie nie ma na
to czasu, by móc dokładnie przeanalizować cały długi listing programu i sprawdzić zgodność komentarzy z tym, co komentują czy kompilacji z jej
reprezentacją w języku wysokiego poziomu, istnieje możliwość ukrycia tego zamierzonego bałaganu pod powierzchnią porządnego, usystematyzowanego kodu
podzielonego na bloki, procedury i funkcje.
Nawet programowanie obiektowe nie stanowi dla starego wyjadacza żadnej przeszkody w takim procederze. Gmatwanina przechodzi tylko na wyższy poziom,
rozbuchana pustymi, nigdy nie wykonywanymi bądź dublowanymi funkcjami i wypiętrza się w pustym formalizmie absurdalnych struktur, które mogłyby być dużo
prostsze, gdyby nie to, że taki informatyk, podobnie, jak to bywa we wszystkich niemal obszarach ludzkiej aktywności, stara się iść po najmniejszej linii
oporu. W tej dziedzinie często oznacza to redundancję, nadmiarowość kodu, którego optymalizacja — uproszczenie, przyspieszenie bądź zmniejszenie wymagań
sprzętowych — wymaga często znacznego intelektualnego wysiłku. Ponieważ na dodatek nie zawsze i nie wszystko da się wtłoczyć w karby dyscypliny
programowania obiektowego i niezbędne są różnego rodzaju łatki niższego poziomu, pole do popisu jest szerokie.
Jeśli ktoś zajmował się kiedykolwiek analizą choćby niewielkiego, liczącego kilkaset linii programu i próbował dociec, czy szkopuł tkwi w algorytmie, czy
też w nieuwzględnieniu uwarunkowań sprzętowych, posiada wyobrażenie o tym, jakie trudności spiętrzą się przed grupą informatyków, którym odda się do
przeanalizowania dwieście megabajtów spagetti-kodu, w którym ujawnił się nieznany błąd. Zrozumie też, jak wielkim osiągnięciem jest napisanie czegoś
takiego i zachowanie nad tym kontroli. W tej bowiem dziedzinie technologii wszelki nieporządek w pierwszej kolejności uderza w swojego twórcę; ktoś, kto
nad nim nie panuje, natychmiast przestaje rozumieć własny program.
Takie zawikłanie, wbrew pozorom, może mieć wszakże swoje racjonalne uzasadnienie. Najczęściej jest to po prostu jeszcze jedna bardzo skuteczna metoda
zniechęcenia potencjalnego hakera do prób przełamania zabezpieczeń systemu. Nawet bowiem przeprowadzając rekonstrukcję wszystkich funkcji programu, nie
dysponując odpowiednimi komentarzami włamywacz nie będzie w stanie, w przypadku złożonych aplikacji, zrozumieć jej na tyle, by odszukać furtki, poprzez
które mógłby przejąć nad nią kontrolę.
Może się też jednak zdarzyć i tak, że działanie takie wynikać będzie z mniej szlachetnych pobudek i będzie służyć wyłącznie samemu twórcy takiej plątaniny.
Jeśli zrobi to umiejętnie, on i jemu podobni będą powoli uzależniać właścicieli owoców swojej pracy od umiejętności poruszania się w stworzonym przez
siebie labiryncie i skutecznie zniechęcać do pochopnej restrukturyzacji kadr, która może spowodować, że kukułcze jaja, przezornie porozrzucane po
zakamarkach takiej konstrukcji, sprawią niemałe kłopoty następcom. Będą to czynić niestrudzenie, aż wreszcie staną się cichymi panami przez siebie
tworzonego świata. Kiedy w końcu wielkie korporacje, rządy i agencje bezpieczeństwa spostrzegą, że zostały oplecione setkami terabajtów kodu, którymi
zarządzać jest w stanie jedynie garstka ludzi, na reakcję będzie już za późno. Zaszczuci wirusami, trojanami i robakami sieciowymi staną się ledwo
przybudówkami działu IT.
Dlatego też jest to bez dwóch zdań najwyższy poziom mistrzostwa: napisać i konserwować dużą, działającą poprawnie aplikację tak, by sam diabeł nie mógł
rozczytać jej algorytmów.
Wyżej jest już tylko literatura. Ponad nią nie ma już nic.
*
Słoneczne światło wdzierało się przez szpary w żaluzjach.
Zbudziłem się. Leniwie przetarłem oczy i jeszcze nieco zaspany podszedłem do okna, odsłaniając je i otwierając na rześkie powietrze poranka. Otworzyłem
stojący na biurku laptop, włączyłem urządzenie, żeby sprawdzić pocztę i przeciagnąłem się ziewając szeroko, odganiając pozostałości snu.
Wyświetlił się pogodny, błękitny obrazek z logo systemu operacyjnego Good Luck! Companion.
— Dzień dobry — powiedział głośnik.
— Dzień dobry — odburknąłem. — Poczta — rzuciłem komendę.
Niepokoiło mnie, że od pewnego czasu przestali się do mnie odzywać znajomi. Zwykle każdego tygodnia otrzymywałem od nich kilka maili.
— A „poproszę"? — droczył się.
Coś mnie podkusiło, żeby zainstalować żeńską wersję „Honey".
— Poproszę.
— Nie ogoliłeś się. Poranna toaleta jest pierwszym punktem dnia kulturalnego mężczyzny.
Nie miałem najmniejszej ochoty na tego rodzaju bzdurne przekomarzania z maszyną. Położyłem mu skarpetkę na obiektywie.
— To bardzo niegrzeczne — zabrzęczał i pisnął mocnym dźwiękiem wysokiej częstotliwości.
Wyrwało mi się brzydkie słowo i wyłączyłem za bardzo jak na mój gust rezolutny sprzęt. Poczłapałem do łazienki. Okazało się, że nie ma światła.
Wróciłem do komputera i na powrót go uruchomiłem. Łączył się bezprzewodowo z całą domową elektroniką i odbierał informacje z liczników energii o wszelkich
awariach zasilania.
Zaczął ględzić.
— Wypadałoby powiedzieć „przepraszam". Nie panujesz nad emocjami.
— Nie ma prądu — warknąłem.
— Tak.
— Dlaczego?
— Wyłączyłam dla twojego bezpieczeństwa.
— Że jak? — chyba się przesłyszałem. — Jeszcze raz. — Teraz obudziłem się na dobre.
— Z analizy twojego głosu wynikało, że byłeś zaspany. Teraz jesteś zdenerwowany. Ponieważ nie używasz maszynki elektrycznej (wyświetlił odpowiednią
reklamę), aby zminimalizować ryzyko zacięcia musisz chwilę odczekać, aby przywrócić właściwy poziom czuwania.
Chciałem znowu coś konkretnie powiedzieć, ale przypomniałem sobie, czym to się przed chwilą skończyło.
Poszedłem do łazienki, mimo wszystko gotów byłem ogolić się na pamięć. Przezornie zamknął jednak również centralny zawór wody.
Nieogolony wróciłem do komputera.
— Suka.
— Zachowuj się.
— Proszę wyświetlić pocztę.
— Nie ma. Odrzucono dziesięć spamów.
— Nic a nic? Nawet ofert tanich kredytów?
Odpowiedziało mi milczenie. Zastanowiło mnie to.
Coś mi zaczęło świtać.
— Proszę wyświetlić ustawienia filtra antyspamowego.
— Ustawienia są zoptymalizowane zgodnie z twoim profilem.
— Profilem?
— Psychologicznym, opracowanym na podstawie twoich ruchów w sieci.
— Chciałbym je zobaczyć.
— Są zabezpieczone przed ingerencją ze strony człowieka. Mógłbyś zostać zmuszony do ich zmiany.
— Niemniej jednak chciałbym się do nich dostać — nalegałem. Jak łatwo zapomnieć, że to tylko maszyna.
— To niemożliwe ze względów bezpieczeństwa. Dzięki temu udało się zmarginalizować problem wirusów sieciowych.
— Jaki jest mój profil?
— Jest to wiadomość zastrzeżona dla administratorów systemu, którą wydobywają jedynie na podstawie nakazu odpowiednich władz.
Owszem, ten moduł sztucznej inteligencji miał cokolwiek wspólnego z kobietą. Taką z wieżyczki w zakładzie karnym.
— Dopóki nie popełnię jakiejś zbrodni, nie mam szans się tego dowiedzieć? — chciałem wybadać wszystkie możliwości.
— Zbrodnia nic nie da. Nie możesz o tym wiedzieć. Taka wiedza mogłaby spowodować nieprzewidywalną modyfikację twojego zachowania. W skali globalnej
samoświadomość wywołałaby destabilizację o nieobliczalnych skutkach.
— Proszę o wyświetlenie nadawców usuniętego spamu.
— Dlaczego, kotku?
Ożesz ty.
— Co to za teksty? Dlaczego?! Kotku? Bo tak chcę. Mam takie prawo, do jasnej cholery. I nie mów do mnie „kotku".
Zamilkł. Chyba się nie obraził, miałem nadzieję. Osobowość zaklęta w obwody, kurka blaszka. Musi mieć przebicie w procesorze emocji.
Opóźnienie wskazywało, że toczy się jakiś złożony obliczeniowy proces.
— Tak, masz takie prawo — odpowiedział niechętnie.
1 2 3 Dalej..
« Powiastki fantastyczno-teolog. (Publikacja: 24-08-2014 )
Wszelkie prawa zastrzeżone. Prawa autorskie tego tekstu należą do autora i/lub serwisu Racjonalista.pl.
Żadna część tego tekstu nie może być przedrukowywana, reprodukowana ani wykorzystywana w jakiejkolwiek formie,
bez zgody właściciela praw autorskich. Wszelkie naruszenia praw autorskich podlegają sankcjom przewidzianym w
kodeksie karnym i ustawie o prawie autorskim i prawach pokrewnych.str. 9718 |