Guru wszystkich guru


Miłośnicy komputerów na całym świecie – zarówno profesjonaliści, jak amatorzy – tworzą swoistą subkulturę. Niemałą rolę w jej istnieniu odgrywa specyficzny język; w tym języku na przykład niezbyt rozgarniętego laika nazywa się luzerem, a najwyższy stopień wtajemniczenia informatycznego to guru. A guru wszystkich guru – zdaniem wielu najwybitniejszych ekspertów – nazywa się Donald Ervin Knuth i jest wielce oryginalnym 67-latkiem. Gdy jego nazwisko wpisze się do internetowej wyszukiwarki, ta zwróci ponad 261.000 odnośników. Niektórzy nazywają go Eulerem informatyki…

Ten miły i jowialny starszy pan, obdarzony zupełnie niezwykłym talentem matematycznym i jeszcze bardziej niezwykłym poczuciem humoru, jest Amerykaninem. Przyszedł na świat w Milwaukee w stanie Wisconsin 10 stycznia 1938 roku jako syn nauczyciela miejscowej szkoły protestanckiej, w jednej osobie niedzielnego organisty w lokalnej świątyni. Donald ponoć od najmłodszych lat interesował się Królową Nauk (choć przez dłuższy czas nie wiedział, że ma w tej dziedzinie ogromne uzdolnienia twórcze) i muzyką; nawiasem mówiąc, zainteresowania te idą w parze dosyć często. Jedna z licznych związanych z nim anegdot opowiada, że jako uczeń wygrał konkurs promocyjny firmy Ziegler, która wymagała od uczestników ułożenia maksymalnej liczby różnych słów z nazwy "Ziegler's Giant Bar"; autorzy konkursu liczyli na maksymalnie 2500 słów, a Knuth ułożył ich w ciągu dwóch tygodni zawziętej pracy… 4500.

Uczniem w szkole średniej był wybitnym: jego średnia ocen z nauki w Milwaukee Lutheran High School była najwyższa w jej dziejach i do dziś nie została przez nikogo przekroczona.

W roku 1956 piekielnie zdolny nastolatek – który wówczas jeszcze zastanawiał się poważnie, czy nie wybrać kariery zawodowego muzyka – zetknął się po raz pierwszy w życiu z komputerem. Była to słynna maszyna IBM 650, którą instalowano wówczas we wszystkich poważnych uczelniach; ten kontakt stanowił początek fascynacji będącą wówczas w powijakach informatyką. Knuth jednak i wtedy nie był jeszcze pewien swych uzdolnień matematycznych: wybrał modne studia fizyczne w stosunkowo mało znanym Case Institute of Technology w Cleveland, w stanie Ohio. Tu dopiero na jego ogromnym talencie poznał się wykładowca matematyki Paul Guenther. "Nigdy w życiu nie spotkałem się dotychczas z zawodowym matematykiem – wspomina Knuth – i jego wspaniałe poczucie humoru oraz absolutna niewrażliwość na najdziksze pomysły studentów zrobiły na mnie ogromne wrażenie". To Guenther namówił Donalda na zmianę kierunku studiów.

Knuth miał 22 lata, gdy uzyskał – co było w dziejach Case bezprecedensowe – jednocześnie stopień bakałarza (licencjat) i magistra na podstawie jednej rozprawy uznanej za wybitną; w tymże roku opublikował swoje dwie pierwsze prace naukowe. W trzy lata później jest doktorem matematyki, przy czym tytuł ten otrzymuje już od uczelni absolutnie pierwszorzędnej, przesławnego Caltechu (California Institute of Technology). Tu właśnie, na znakomitym tamtejszym Wydziale Matematyki przepracuje jako profesor pierwszych osiem lat swej działalności naukowej. I tu – w roku 1962, czyli rok przed doktoratem – zaczyna na zamówienie wydawcy (Addison Wesley) pisanie dzieła, które okaże się dziełem jego życia, i najsławniejszą chyba dziś monografią informatyczną na świecie.

To dzieło to słynny podręcznik The Art Of Computer Programming (Sztuka programowania, tomy I-III, wyd. polskie: Warszawa, WNT 2002 – odpowiada 3. wydaniu amerykańskiemu). Zaplanowany został przez autora na siedem opasłych, wielosetstronicowych tomów; pierwszy – uznany natychmiast za klasykę – ukazał się w roku 1968, zaś w ciągu 45 lat Knuth w pełni ukończył ledwie trzy; obecnie zaś jest bardzo zaawansowany w pracach nad czwartym. O księdze tej i jej autorze pisałem już zresztą na naszych łamach w artykule "Pochwała księgi"; obecnie powracam do tematu z uwagi na pewne niezwykle ciekawe polonicum, które odkryłem w witrynie Knutha kilka miesięcy temu; niektóre informacje z poprzedniego tekstu powtarzam, żeby nie zmuszać Czytelników do tamtego artykułu.

Sztuka jest księgą niezwykłą i w niezwykły sposób powstaje. Ambicją Knutha jest absolutna aktualność i perfekcyjna, pedantyczna wręcz bezbłędność. Zmiany w wydanych już tomach i propozycje do następnych są przez uczonego publikowane w formie stosunkowo niewielkich zeszytów, które same w sobie stanowią odrębne całostki. Dopiero później – po weryfikacji czytelniczej – są włączane do kolejnych edycji.

Tej weryfikacji warto poświęcić kilka słów, stała się ona bowiem anegdotyczna i wręcz legendarna. Otóż Donald Knuth… płaci swoim czytelnikom za wskazanie dowolnego błędu; może to być nawet zwykła literówka. Płaci czekiem na 2,56 dolara i… nie wydał do dziś ani grosza. Nie dlatego, że nikt nie znajduje błędów, choć w pracach uczonego jest ich niesamowicie mało – ale dlatego, że jest to zadanie tak niesłychanie trudne, iż czek z podpisem Knutha jest przez informatyków całego świata ceniony niemal tak samo, jak dyplom doktorski. Z reguły oprawia się go w cenne ramy i wiesza na ścianie w gabinecie jako potwierdzenie najwyższych kwalifikacji naukowych posiadacza. Owa dziwna suma, te dwa dolary i pięćdziesiąt sześć centów nie jest oczywiście przypadkowa: 256 to dwa do potęgi ósmej. Osiem znaków binarnych – zer i jedynek – to w informatyce "bajt". Knuth płaci więc swoim kolegom… bajta centów; ot, taki – czytelny dla specjalistów – środowiskowy żarcik (pisząc poprzedni tekst – nie znałem tego wytłumaczenia; dziękuję p. W. Skorupskiemu za nadesłaną informację).

Sztuka programowania jest dziełem fascynującym jeszcze pod jednym względem. Otóż Knuth każdy jej rozdział obarcza niebywale erudycyjnym mottem literackim, co zresztą jest obyczajem u autorów amerykańskich spotykanym dość często. Knuth nie byłby jednak sobą, gdyby i tu nie zrobił czegoś dziwnego i zaskakującego. Otóż każde jego motto jest nie tylko odpowiednio dobrane sensem do treści rozdziału, ale składa się wyłącznie ze słów, występujących w tym rozdziale! Proszę sobie wyobrazić, jak straszliwe jest to wyzwanie dla tłumaczy monografii i jej zagranicznych wydawców…

Powstanie Sztuki programowania jest związane z co najmniej dwoma jeszcze wielkimi osiągnięciami informatycznymi Knutha. Otóż żaden z wydawców amerykańskich nie był w stanie zaspokoić wymagań autora, dotyczących druku niebywale skomplikowanych wzorów matematycznych. W związku z tym Knuth… wymyślił własny system profesjonalnego składania najtrudniejszych tekstów, słynny TEX (czyta się "tech", traktując ostatni znak jako grecki), używany dziś powszechnie przez ludzi nauki. Że zaś nie podobały mu się również używane wówczas czcionki, więc stworzył także własny system projektowania znaków METAFONT. Nie trzeba dodawać, że system ten jest dziś równie popularny jak TEX…

Od 1968 roku Knuth był profesorem informatyki na słynnym Stanford University, który w roku 1993 przyznał mu tytuł Professor Emeritus (wbrew popularnemu mniemaniu nie oznacza to wcale przejścia na emeryturę, ale jest wysoko cenioną godnością honorową). Obejmując stanowisko, Knuth wprowadził do Stanford dwa nowe przedmioty, dziś uważane za absolutną klasykę: teorię struktur danych i matematykę dyskretną. Inna sprawa, że dziś uczony nie jest już etatowym pracownikiem żadnej uczelni – ale to tylko dlatego, że postanowił poświęcić się wyłącznie pracy nad Sztuką programowania.

Zostawmy jednak na boku działalność naukową Knutha; niech nam wystarczy, że ten autor 23 książek i z górą 160 rozpraw jest obecnie jedną z kluczowych postaci współczesnej informatyki i laureatem niezliczonego mnóstwa prestiżowych nagród, włącznie z "informatycznym Noblem", za jaki uchodzi Nagroda im. Alana Turinga (uzyskał ją w roku 1974). Odnotujmy tylko, że jest on również m. in. autorem jednego z pierwszych i dotychczas najlepszych kompilatorów języka programowania Algol, twórcą języka SOL (przeznaczonego do symulacji komputerowych) oraz wynalazcą kilku niezwykle złożonych i ważnych algorytmów (na przykład słynnego algorytmu Knutha-Morrisa-Pratta do wyszukiwania informacji); właściwie każda jego publikacja jest wybitna i ważna.

Skupmy się teraz na innych cechach jego bogatej osobowości; tym bardziej, że uczony poprosił ostatnio o pomoc w pewnej sprawie, związanej dość niespodziewanie z Polską. Zacznijmy od muzyki. Knuth jest nie tylko jej miłośnikiem i odbiorcą. W młodości nauczył się grać na fortepianie i organach (a także na saksofonie i na tubie…); nauczył się tak dobrze (choć sam mówi skromnie, że stosunkowo rzadko występuje publicznie z koncertami… dla dobra publiczności), iż został zastępcą organisty w Faith Lutheran Church w kalifornijskiej Pasadenie, którą to funkcję pełnił obok prowadzenia badań naukowych i wykładów uniwersyteckich. W 1976 roku wywołał lokalną sensację medialną, instalując w swoim prywatnym domu ogromne organy z 812 piszczałkami. Ma też u siebie wysokiej klasy pianino i fortepian, na których często grywa. Knuth słynie również z niebywałej wręcz znajomości Biblii; być może, związane jest to z profesją jego żony, Jill, wybitnej biblistki właśnie.

Ostatnie hobby wielkiego uczonego, któremu oddaje się z niesłychaną pasją od 2003 roku, jest zupełnie zaskakujące. Otóż Knuth… fotografuje znaki drogowe. Ale nie wszystkie, tylko mające kształt rombu. Zdjęcia te kolekcjonuje i umieszcza w Internecie (zbiór liczył ostatnio 688 fotografii), przy czym każde z nich jest opatrzone… dokładnymi współrzędnymi geograficznymi lokalizacji znaku; współrzędne te Knuth – wraz z Jill, która mu wiernie towarzyszy w wędrówkach – uzyskuje za pomocą odbiornika GPS.

Donald E. Knuth prowadzi z upodobaniem własną – mocno rozbudowaną, choć pozbawioną jakichkolwiek "bajerów" – witrynę internetową; ta działalność wyraźnie też mu sprawia przyjemność. Witryna owa nie służy tylko prostej prezentacji osoby i dorobku uczonego, ale jest również miejscem kontaktu z czytelnikami jego dzieł, współpracownikami i – nazwijmy rzecz po imieniu – wielbicielami tego fascynującego człowieka.

Jedna z podstron tej witryny jest poświęcona prośbom uczonego o pomoc w rozwiązaniu różnych problemów, wcale niekoniecznie naukowych, nie zawsze związanych z informatyką i w wielu wypadkach nie wymagających żadnej specjalistycznej wiedzy; Knuth przy tym z zasady nie wyjaśnia, do czego konkretnie jest mu potrzebna jakaś informacja. Za spełnienie każdej prośby wystawia również swój słynny bezcenny czek na 2,56 dolara. Przykład – to prośba o weryfikację pisowni różnych nazwisk w egzotycznych dla ludzi Zachodu alfabetach – arabskim, japońskim, chińskim, cyrylicy, ale także w polskim czy czeskim; prośba ta wynika stąd, że Knuth pedantycznie stara się publikować w swych rozprawach wszystkie wymieniane nazwiska w ich pisowni oryginalnej, a także w całej krasie – z pełnym imieniem.

I tu dochodzimy do wspomnianego wyżej polonicum. Otóż Knuth z zupełnie nieznanych jak zwykle powodów chce poznać imię niejakiego pana G. Dobińskiego z Kutna, który był… technikiem kolejowym na linii Warszawa-Bydgoszcz około roku 1870; tyle tylko wiemy o tej osobie. Jak dotychczas, nikomu nie udało się wielkiemu Donaldowi pomóc, mimo wykonania w Polsce profesjonalnej kwerendy bibliotecznej. Ale głęboko wierzę, że nasi Czytelnicy w sumie wiedzą wszystko; ogłaszam zatem w tej sprawie niewielki konkurs. Oprócz czeku profesora Knutha dodatkową nagrodą będzie polska bibliofilska edycja Sztuki programowania. Udokumentowane (kserokopie lub fotokopie odpowiednich dokumentów) rezultaty poszukiwań prosimy przekazać redakcji, która będzie pośredniczyła w wymianie informacji z prof. Knuthem.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s