Jak zauważa sam autor książki, podczas próby przybliżenia czym zajmuje się informatyka jako nauka, napotykamy problem w postaci wyjaśnienia podstawowych pojęć jakimi są algorytmy czy przetwarzanie informacji. Pojęcia te są z natury abstrakcyjne i nie dają się ująć w jedną jasną definicję. Autor książki, Martin Erwig, Profesor Informatyki na Uniwersytecie stanu Oregon, w swojej trzeciej książce podejmuje próbę opisania tych zagadnień używając porównań do życia codziennego jak również bajek czy odniesień do kultury popularnej.
Wszyscy wiemy jak ważną rolę odgrywają w naszym życiu opowieści. Niosą ważne przesłania i naukę, które towarzysząc nam przez całe życie zmieniają nasz sposób postrzegania świata. Mają tę unikalną cechę objaśniania zagadnień zbyt trudnych lub złożonych aby je wyrazić w prosty sposób. W książce, „Dawno temu był sobie algorytm. Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów”, autor skorzystał z tej właśnie cechy opowieści. Prowadząc czytelnika poprzez meandry skomplikowanych zagadnień, za pomocą bajek objaśnia te koncepcje jedna po drugiej. Dzięki temu zabiegowi podejmuje próbę wzbudzenia zainteresowania informatyką wśród szerszej publiczności.
W swojej książce Erwig odnosi się do popkultury w postaci bajki o „Jasiu i Małgosi”, filmu „Dzień Świstaka” czy książek o Harrym Potterze. Ten zabieg wyróżnia tę pozycję czytelniczą wśród innych tekstów wprowadzających czytelnika w świat informatyki. Na rynku dostępnych jest wiele książek z kategorii „nie tylko dla orłów”, jednak żadna z nich nie używa tak zapadających w pamięć przykładów i odniesień.
Większość materiałów tego typu ma za zadanie pokazać praktyczne zastosowania omawianych zagadnień. Dzięki licznym przykładom, czytelnicy zdobywają konkretne umiejętności. Książka „Dawno temu był sobie Algorytm” służy innym celom. Celem autora było przedstawienie pewnych teorii i koncepcji, przez co należy ją traktować raczej jako obszerne kompendium wiedzy teoretycznej niż poradnik czy podręcznik.
Erwig rozpoczyna swoją książkę od znanej bajki o Jasiu i Małgosi, na podstawie której objaśnia koncepcje algorytmu i przetwarzania. Zgodnie z opowieścią Jaś i Małgosia, zagubieni w lesie próbują odnaleźć drogę do domu. Aby osiągnąć swój cel muszą uruchomić proces rozwiązywania problemu. Jaś wpada na pomysł oznaczenia drogi poprzez upuszczanie wcześniej nazbieranych kamyków. Dzięki temu zabiegowi, rodzeństwo szczęśliwie odnajduje drogę do domu rodziców.
Algorytm pozwala rozwiązać ten sam problem. Dzięki metodzie „krok po kroku” pozwala odnaleźć drogę z punktu A do punktu B. Podobnie jak w przypadku bajki algorytm potrzebuje jakiegoś zakończenia aby móc oszacować poprawność działania. W odniesieniu do bajki było to odnalezienie właściwego domu co oznacza proces zakończony sukcesem.
W późniejszym rozdziale, za pomocą przykładu z życia wziętego, autor objaśnia w jaki sposób algorytmy są podobne do naszych codziennych działań. Za przykład posłużyło składanie papieru tak aby zmieścił się do koperty. Takie działanie przypomina algorytm, którego podstawową własnością jest powtarzalność. Aby uniknąć nieskończonego powtarzania czynności potrzebny jest opis tej powtarzalności i struktury sterujące takie jak pętla. Przykład wyjaśniającym działanie pętli jest film „Dzień Świstaka”
W filmie Harolda Ramisa pod tytułem „Dzień Świstaka” z 1993 roku, reporter Phil Connors zostaje uwięziony w pętli powtarzającego się bez końca dnia. Bohater podejmując różne próby przerwania cyklu, ostatecznie odkrywa, że aby zakończyć dzień świstaka musi zmienić swoje podejście do życia i ludzi. Takie właśnie warunki zakończenia muszą zostać określone dla każdej pętli algorytmu.
Oprócz koncepcji przetwarzania, algorytmu i pętli autor, za pomocą sytuacji z życia oraz historii Harrego Pottera wyjaśnia działanie typów. Dzięki typom jesteśmy w stanie kategoryzować obiekty i zależności między nimi. Jeśli podczas kolacji, do zjedzenia zupy użylibyśmy widelca zamiast łyżki wtedy naruszylibyśmy zasady relacji między typami wywołując tym samym błąd typu. Dzięki analogii do Harrego Pottera możemy dowiedzieć się czym są właściwości danych typów. Podobnie jak w historii J.K. Rowling gdzie ludzie dzielą się na czarodziejów i mugoli, co jest nie tylko nazwą kategorii ale wiąże się z charakterystyką postaci tak w przypadku algorytmów typy są powiązane z ich właściwościami co służy nie tylko kategoryzacji ale również określa oczekiwania w procesie przetwarzania.
Ciekawy zabieg wplecenia bajek, codziennych sytuacji oraz odniesień popkulturowych jest zarówno zaletą jak i wadą tej pozycji. Z jednej strony takie rozwiązanie pozwala nam się cieszyć ciekawymi porównaniami i łatwymi do zrozumienia przykładami. Z drugiej jednak tworzy w umyśle czytelnika potrzebę podążania za jakąś narracją, której tu ewidentnie brakuje. Styl autora jest raczej akademicki, więc zwykły czytelnik może się nieco pogubić w treści. Warto nadmienić, że autor dodał mały przewodnik na początku książki ułatwiający poruszanie się po niej.
„Dawno temu był sobie algorytm. Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów” można zdecydowanie polecić osobie, która nie miała wcześniej do czynienia z Informatyką jako nauką a chciałaby się dowiedzieć więcej na temat jej teoretycznych podstaw. Ze względu na złożoną naturę podnoszonych przez autora zagadnień, niektóre fragmenty będą wymagały od czytelnika więcej uwagi. Natomiast, użycie prostych przykładów oraz licznych popkulturowych odniesień powoduje, że jest to interesująca pozycja, która może sprawić wiele radości.
Konrad Piłatowicz