Blog naukowy. Zdobądź wiedzę z języków obcych, jazdy na łyżwach...

Jeden krok do przodu, jeden do tyłu

Lehman i Belady przeanalizowali historię kolejnych wersji dużego systemu operacyjnego6. Stwierdzili, że łączna liczba modułów wzrasta wprost proporcjonalnie do numeru wersji, ale liczba modułów dotkniętych zmianami wzrasta wykładniczo względem numeru wersji. Wszystkie naprawy prowadzą do niszczenia struktury systemu i do zwiększania chaosu w systemie. Coraz mniej starań dokłada się do usuwania pierwotnych wad w projekcie, a coraz więcej do naprawy tych, które są wynikiem wcześniejszych poprawek. Z upływem czasu system staje się coraz mniej uporządkowany. Wcześniej czy później dochodzi do tego, że naprawy już nic nie dają. Każdemu krokowi do przodu towarzyszy krok do tyłu. Chociaż system można eksploatować bez końca, przestaje on być podstawą postępu. Ponadto zmieniają się maszyny, konfiguracje i wymagania użytkowników, czyli tak naprawdę nie da się go używać bez końca. Konieczny jest zupełnie nowy projekt, zmieniony od podstaw.

I tak od statystycznego modelu mechanicznego Belady i Lehman dochodzą do ogólniejszego wniosku dotyczącego systemów oprogramowania, który znalazł potwierdzenie na całym świecie. Pascal powiedział: „Wszystko jest zawsze najlepsze na początku”, a C. S. Lewis sformułował to bardziej obrazowo:

To jest klucz do historii. Zużywa się ogromną energię – buduje się cywilizacje – obmyśla się doskonałe instytucje: jednakże za każdym razem coś idzie źle. jakiś fatalny błąd zawsze powoduje, że na szczyt dostają się ludzie samolubni i okrutni, a wtedy wszystko znowu popada w nieszczęście i ruinę. Rzeczywiście maszyna zawodzi. Rusza żwawo, przebiega kilka jardów – i wtedy się psuje7.

Tworzenie programów systemowych to proces polegający na zmniejszaniu entropii, a zatem z natury metastabilny. Pielęgnacja programu to proces zwiększający entropię i nawet najsprawniejsze przeprowadzenie go jedynie opóźnia niemożliwą do naprawienia przesta- rzałość programu.

Podobne Artykuły

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany.