Skamieliny i paleontologia informatyczna

Mam przyjaciela, którego ulubionym zajęciem jest zbieranie skamielin przeszłości  informatycznej.  Na półkach tegoż zbioru znaleźć można  przenośny komputer  (laptop?) ważący pewnie z 15 kilogramów,  zasilacz wielkości sporego kota, komputer silicon graphics, który kiedyś kosztował więcej niż kawalerka w Warszawie i kilkanaście krzemowych zabytków opowiadających o naszym informatycznym pochodzeniu.   

Pewnego razu, przyglądając się z zaciekawieniem różnym przejawom pierwszego życia informatycznego, zadałem sobie pytanie, czy ta romantyczna paleontologia informatyczna ma jakiś sens i może nas czegoś nauczyć.

Niniejszy esej jest ostrożnym badaniem tego, co ze skamielin wynika, oraz jakie wnioski na przyszłość z tych informatycznych amonitów możemy wyciągnąć. 

Pierwsze organizmy

Dla Juana Arsuagi[1] kluczowym krokiem pozwalającym na nieskrępowany rozwój życia było ewolucyjne wykształcenie się błony komórkowej przepuszczającej w jedną stronę – to właśnie wtedy rozpoczęła się droga od jednokomórkowych organizmów po znane nam dziś zaawansowane formy.

W informatyce podobne znaczenie miał podział na niezależne warstwy: sprzętową oraz oprogramowania. W dalszym kroku postępująca ewolucja życia informatycznego obrała najbardziej obiecującą drogę rozwoju: dalszy podział warstwy oprogramowania na kolejne warstwy komunikujące się między sobą prostymi i nieskomplikowanymi procedurami wymiany informacji.

Wielowarstwowość oprogramowania ma charakter kierunkowy, wertykalny, od oprogramowania niskiego rzędu, bliskiego sprzętowi, do warstw najwyższych, obliczeniowych lub zajmujących się interfejsem z operatorem.

Od tego momentu, każda warstwa mogła ewoluować niezależnie, pod warunkiem zachowania sposobu komunikacji z warstwą niższą i wyższą.

Ten rodzaj ewolucji pozwolił na postępującą specjalizację oraz  wyrafinowanie każdej z warstw.

Gdy nieskrępowany rozwój którejś z warstw napotkał bariery nie do przeskoczenia (np. w zakresie komunikacji z inną warstwą lub w zakresie konieczności podziału warstwy na warstwy mniejsze, bardziej specjalizowane) następowała katastrofa technologiczna – wymarcie starych rozwiązań i nowe życie oparte na nowych założeniach. Doskonałym przykładem są pierwotne ograniczenia pamięci do 640 kB, z którymi informatyczny Darwiznizm szybko się pożegnał.

Mamy więc rodzące się życie. Zauważmy, że choć powstanie życia informatycznego było celowe  (możemy postulować, że jest to projekt inteligentny), to jednak jego rozwój postępował ewolucyjnie i w konsekwencji sięga znacznie dalej niż zamysły jego pierwszych twórców.

I choć do inteligentnego trzeciego szympansa[2] wciąż daleko, to mamy stworzone warunki ewolucyjne i jesteśmy na dobrej, niewyboistej ewolucyjnej ścieżce.

pierwsze wymierania

Poprzedni akapit zakończyliśmy pełni optymizmu. Sprawiedliwość każe jednak uczynić kilka dygresji.

Po pierwsze, znalezienie najlepszej potencjalnie ścieżki ewolucyjnej trwało kilka dekad. Po drodze mieliśmy całą rzeszę twórców, których rozwiązania wyginęły nie dlatego, że miały mniejszą moc obliczeniową lub mniejszy potencjał realizacji stawianych zadań.  Wymarły, ponieważ nie zapewniały optymalnej ścieżki ewolucyjnej i teraz są częścią kolekcji wspomnianego na początku przyjaciela, który chcąc nie chcąc posiada tak naprawdę cmentarzysko ślepych zaułków.

Po drugie, w trakcie trwania pierwszych organizmów informatycznych przeżyliśmy wiele ścieżek rozwoju oprogramowania (jako warstwy organizmu informatycznego) kończących się w ewolucyjnym limbo. 

Życie wychodzi na ląd

W którym momencie życie informatyczne wyszło z mórz i weszło na ląd ?

Bez wątpliwości był to moment narodzin warstwy systemu operacyjnego oraz stworzenie systemu operacyjnego DOS.  Od tego momentu liczba organizmów informatycznych  rośnie w sposób wykładniczy, a uważny obserwator co roku może zaobserwować miliony nowych organizmów informatycznych ewoluujących w różnorakich środowiskach.

Naczelne

Wśród różnych gatunków informatycznego życia biologicznego to oprogramowanie dla przedsiębiorstw wyewoluowało jako nowe technologiczne Homo Sapiens – informatyczny gatunek prymalny, który jak żaden inny gatunek organizmów informatycznych  zmienił życie człowieka wpływając na efektywność, produktywność, a tym samym na dobrobyt swoich twórców.

Pierwsze technologiczne naczelne to organizmy prymitywne:  wykonywały pojedyncze zadania. Następne pokolenia organizmów informatycznych mają wzrastającą złożoność: nie dość, że są w stanie realizować wiele zadań, to zaczynają działać w sposób procesowy i reaktywny.   

Po prostych systemach informatycznych gromadzących jednowymiarowe dane pojawiają się systemy pozwalające tworzyć szablony postępowań, zmuszające do działania proceduralnego, potrafiące kalkulować na podstawie danych przeszłych (oprogramowania MRP, MRP2, ERP ….).

Masowe wymieranie

W ordowiku, jak uczą nas podręczniki, wymarło 85% gatunków organizmów. Najprawdopodobniej nie przystosowały się do zmienionych czynników klimatycznych.

Podobne w skali wymieranie organizmów informatycznych przyniósł przełom technologiczny w zakresie budowy  bardziej złożonych i wydajnych procesorów oraz w zakresie oprogramowania rozwój interfejsów graficznych, a więc ordowikiem naszego środowiska były systemy Mac OS, Windows czy OS/2.

Powstałe po tej erze organizmy są wydajne, wielowątkowe oraz efektowne, a  nowe oprogramowanie graficzne zastępuje oprogramowanie tekstowe

Zmienność ewolucyjna

W przypadku życia biologicznego wymiana genów odbywa się z szybkością  kłopotliwą do spostrzeżenia, bowiem minimalną jednostką czasu jest całe pokolenie:  zmiana genów dokonuje się nie dość, że poprzez następne pokolenia, to dodatkowo dzieje się przez przypadek i dopiero środowisko naturalne weryfikuje ich przydatność (na drodze doboru naturalnego).

I tu dostrzegamy największe różnice: „biologia” środowiska informatycznego pozwala na ewolucje znacznie szybsze, czego dowodem są skamieliny o których pisaliśmy w pierwszych akapitach: żadne nie mają więcej niż 30 lat a już ich jedynym zadaniem jest zbieranie kurzu…

Projekt informatyczny zazwyczaj budzi się do życia jako projekt celowy, nieprzypadkowy, ze wskazanym konkretnym celem, ale dopiero nieustające zmiany to prawdziwa droga życia dla tego organizmu.

Wprowadzanie zmian w reakcji na czynniki środowiskowe (lepsze procesy, zmiany przepisów, nowe wymagania, etc) to prawdziwe źródło inteligentnego życia: dostarcza nowe geny do organizmów, rozwija organizm w kierunkach najbardziej obiecujących.  

Trwa to – jak uczy nas historia i skamieliny – około 5 do 10 lat. Po tym okresie zazwyczaj następuje katastrofa technologiczna (ograniczenia technologiczne oraz pierwotne założenia koncepcyjne) nie pozwalają na dalszy rozwój, powodując masowe wymieranie i narodziny nowych gatunków.

W kontekście powyższego rodzi się myśl, że większość projektów informatycznych nie wspomaganych  nieustającymi  zmianami, umrze z wielkim prawdopodobieństwem w ciągu 2 lat od momentu powstania i wprowadzenia do środowiska.

Wpływ środowiska na organizm informatyczny

Powyższe rozważania doprowadziły nas do ciekawego i kontrowersyjnego spostrzeżenia: Choć doceniamy walory projekcyjne twórców oprogramowania, to narasta w nas przekonanie, że o sukcesie życiowym organizmu informatycznego zadecyduje tylko w pewnym stopniu jego celowość (zamysł pierwotny twórców), a decydujący wpływ będzie miała przede wszystkim zdolność adaptacji tegoż organizmu do czynników środowiskowych.

Jeżeli powyższa konkluzja jest prawdziwa to w konsekwencji dochodzimy do wniosku, że warunkiem powodzenia (długiego, efektywnego i szczęśliwego życia) organizmu informatycznego jest zdolność do szybkiej zmiany.  Powyższy wniosek sytuuje się na polemicznej pozycji względem konceptu ‘długu technologicznego’ , ale jest to ciekawy temat na inny esej.  

Inteligentne, choć nieświadome

Czy organizm informatyczny może być kreatywny ?  Czy może posiadać intuicje ? Pewne przejawy inteligencji  obserwujemy u informatycznych Homo Sapiens (systemy ERP) w zakresie obróbki szeregów czasowych oraz badania czynników wpływu i stopnia asocjacji zdarzeń. Przejawy w zastosowaniach niezbyt szerokie, jednakże podwójnie przydatne, ponieważ organizm informatyczny niedostatki inteligencji może nadrabiać mocą przeliczeniową, czego nie można powiedzieć o człowieku.

Przyszłość naczelnych

Ostatecznie dochodzimy do konkluzji, że przeżyją organizmy informatyczne zwinne i  reaktywne, łatwo wchodzące w interakcje z innymi organizmami. To przyszłość przede wszystkim całych społeczności organizmów informatycznych, łatwo komunikującymi się ze sobą.

 A co z organizmami dużymi, ciężkimi i hermetycznie zamkniętymi ?

Według autora, wymrą….

[1]  Badacz początków życia, paleoantropolog

[2] Tytułowy kolejny stopnień ewolucji człowieka, zachęcam do lektury książki autorstwa Jareda Diamonda