Turing 1936: Stroj od papira
Čovjek koji je izmislio računalo prije nego što je itko znao zavariti kabel za njega — na papiru, s olovkom, u glavi.
Zamisli travnjak. Ne bilo kakav — travnjak na koji smiješ stati samo ako si fellow koledža, jer je Engleska 1936., a to je i dalje mjesto gdje trava ima hijerarhiju. (Fellow je nešto kao stalni član kolegija — akademska titula koja ti donosi pravo glasa u odlukama, stan, hranu i, da, privilegiju da hodaš po posebnom travnjaku dok ostali smrtnici moraju zaobilaziti.) King's College, Cambridge. Kamen sivkast od vlage koja se ovdje zove »zrak«, čaj u pet i večere gdje se sjedi po stažu, ne po pameti. Formalna, ukočena, savršeno predvidljiva zemlja — baš onakva kakvu bi voljela osoba koja mrzi nepredvidljivost. A upravo je takva osoba, dvadesetčetverogodišnjak neurednih manira i još neurednijeg rukopisa, baš odlučila da će cijelu zgradu matematike razjebati jednim člankom.
Da vidiš, matematika je te godine imala krizu identiteta. Nekih osam godina prije, njemački matematičar David Hilbert postavio je pitanje koje je zvučalo dosadno kao i sve što izlazi iz usta njemačkog matematičara: postoji li mehanički postupak koji bi za bilo koju matematičku tvrdnju mogao reći, stopostotno pouzdano, je li istinita ili nije? Zvao je to Entscheidungsproblem — »problem odluke«. Elegantno pitanje, lijepo pitanje, pitanje na koje je čitava disciplina tiho očekivala odgovor »da«, jer alternativa je bila neugodna: da matematika, ta tvrđava logike u koju se čovječanstvo skriva kad mu dosadi da svijet bude proizvoljan, ima rupe koje nikad neće moći zakrpati.
Onda je 1931. došao Kurt Gödel i, u biti, rekao: nemoj se nadati. Zamisli formalni sustav kao skup pravila igre — recimo šah, ali za matematiku: imaš aksiome (pravila) i iz njih izvodiš poteze (dokaze). Gödelovi teoremi o nepotpunosti dokazali su da u svakoj takvoj igri, dovoljno bogatoj da uključi običnu aritmetiku, postoje istinite tvrdnje koje se unutar te iste igre ne mogu dokazati — kao da postoji legalan potez koji nikad ne možeš odigrati po pravilima koja si sam postavio. Nož u leđa cijelom programu koji je Hilbert zamislio. Matematička zajednica je to primila onako kako matematička zajednica prima loše vijesti — tiho, s puno kave i s još više prepiske na latinskim citatima koje nitko ne razumije osim pošiljatelja.
Vani, Europa se mrači sporo, kao svjetlo koje netko namjerno prigušuje da ne primijetiš dok je još moguće nešto poduzeti. Hitler je prošle godine donio Nürnberške zakone, kojima je Židove u Njemačkoj službeno pretvorio u građane drugog reda. Mussolini je u Etiopiji. Za dvije godine bit će Anschluss (pripajanje Austrije Njemačkoj), iste godine i Minhenski sporazum — kad su Britanija i Francuska Hitleru bez borbe predale dio Čehoslovačke, uvjereni da su time kupile mir — a za tri godine cijeli kontinent bit će u ratu. Ali u Cambridgeu, ljeta 1936., to je vijest u novinama koju čitaš uz doručak i preskačeš na sportsku stranicu — daleko, tuđe, nečiji drugi problem.
Ovdje, u tom malenom, samodovoljnom svijetu formalnih večera i strogih pravila o tome tko sjedi gdje, riječ „computer” znači nešto posve drugo od onoga što danas zamišljaš. Computer je zanimanje. Čovjek — u praksi, zapravo, najčešće žena — koji sjedi za stolom s olovkom, papirom i tablicama logaritama, i računa. Sporo. Pouzdano. Ljudski.
I upravo tu, u toj napukloj tvrđavi akademske Engleske, sa svim njezinim strogim pravilima o tome tko smije piti čaj s kim, jedan mladić s naočalama i lošom kravatom — zove se Alan Turing — sjeda da napiše rad koji će pokušati odgovoriti na jedno veliko pitanje. Odgovor neće doći kroz matematičku jednadžbu, nego kroz zamišljeni stroj koji nikad neće ni sagraditi.
Dobro, kaže laik, prije nego krenemo dalje — glupo pitanje, ali moram ga postaviti. Što točno znači „izračunati” nešto? Ne pitam kako se izračuna 2+2, to znam. Nego — odakle znaš da se nešto uopće MOŽE izračunati?
E vidiš, to nije glupo pitanje. Sjećaš se, to je onaj Hilbertov Entscheidungsproblem iz 1928. o kojem je bilo riječi na početku — postoji li postupak, mehanički, korak po korak, bez ikakve kreativnosti ili inspiracije, koji za BILO KOJU matematičku tvrdnju može reći da ili ne — je li istinita ili nije?
Zamisli da imaš stroj u koji ubaciš papirić s nekom matematičkom tvrdnjom. Stroj melje, škljoca, i na drugom kraju izbaci papirić s odgovorom: DA ili NE. Uvijek točno. Uvijek se zaustavi — nikad ne stane zaglavljen u nedoumici. Hilbert je vjerovao, ili barem strastveno htio vjerovati, da takav stroj mora postojati, makar samo u teoriji. Da je matematika, u svojoj srži, jedna velika i komplicirana, ali u konačnici potpuno mehanička kalkulacija — nešto što se, uz dovoljno strpljenja, može provrtjeti kroz ispravan postupak i dobiti odgovor, baš kao kad vrtiš ručku na aparatu za kavu i s druge strane ispadne espresso.
Ali evo problema — i to je dio koji nitko ne izgovara naglas dovoljno jasno — u tom trenutku nitko nije imao preciznu definiciju onoga što znači „mehanički postupak”. Zvuči apsurdno, znam. Cijela premisa pitanja — „može li se ovo mehanički izračunati” — visjela je u zraku bez definicije glavnog pojma. Kao da pitaš je li nešto pošteno, a nemaš pojma što „pošteno” zapravo znači.
Matematičari su intuitivno znali na što misle. Uzmeš papir, olovku, skup pravila i slijediš ih bez razmišljanja — to je „mehanički”. Ali intuicija nije dokaz. Ako želiš dokazati da nešto NE MOŽE biti izračunato mehanički (a to je upravo ono što će se dogoditi za dvije-tri stranice), moraš prvo strogo definirati što „mehanički” znači. Ne možeš dokazati da nešto ne postoji u kutiji ako prije toga nisi definirao samu kutiju.
I tu upada Turing. Isti tip koji će par godina poslije u Bletchley Parku razbijati njemačke šifre — ali to je priča za drugo poglavlje, ovdje je još student koji je upravo skockao rad koji će mu cijelu tu kasniju karijeru zapravo i omogućiti. Ne upada kao netko tko rješava slavni Entscheidungsproblem, o kojem smo upravo pričali, elegantnom formulom. Nego kao netko tko kaže: dobro, prvo ćemo definirati ‚izračunati' tako precizno da se oko toga ne može svađati. A onda ćemo vidjeti što se s tom definicijom može, a što ne može, napraviti.
Genijalnost poteza nije bila u odgovoru, nego u tome da je pitanje „što je izračunavanje” pretvorio iz filozofske rasprave u nešto konkretno — u čovjeka koji sjedi za stolom s papirom, olovkom i gumicom i slijedi konačan popis uputa. Ništa mistično, nikakav genije s „aha” trenutkom — samo tip koji radi ono što mu je rečeno, korak po korak, po pravilima koja bi razumjelo i dijete.
Zvuči trivijalno? Naravno da zvuči trivijalno. Sve velike ideje zvuče trivijalno kad ih netko konačno formulira ispravno — prije toga su bile samo maglovit osjećaj da „nešto ovdje ne štima”. Turing je tu maglu pretvorio u stroj. Papirni stroj, bez ijednog kabela, bez ijedne žice, ali stroj koji će za sedamdesetak godina imati potomka na tvom stolu, u tvom džepu, i vjerojatno baš sada u tvojoj ruci, dok ovo čitaš.

Stroj od papira
E pa, nemoj se prevariti — nema tu ni zupčanika, ni pare, ni ručke koju bi netko vrtio. Turingov stroj je razočaravajuće jednostavan, baš kao i najbolje ideje: cijelim njegovim radom upravlja samo konačan popis pravila koji kaže što treba učiniti u svakom mogućem trenutku — nešto kao „ako vidiš ovo, i ako si trenutno u ovom stanju (strpi se, za pojam 'stanje' stiže objašnjenje za par rečenica, ne moraš ga sad hvatati), napiši ono, pomakni se onamo, prijeđi u ono drugo stanje”. Konačan popis instrukcija koji ne ostavlja prostora za maštanje ni improvizaciju. Nikakav genijalni uvid, nikakva iskra inspiracije, samo glupo, mehaničko slijeđenje pravila, korak po korak. I upravo je to bila poanta: Turing je htio dokazati da je izračunavanje, u svojoj srži, baš to — tupo, mehaničko, ponovljivo. Nešto što ne treba svijest, intuiciju ni šalicu kave da bi se odradilo, samo strpljenje i jasna pravila. Zvuči kao najdosadniji uređaj na svijetu? Možda. Ali upravo ta dosadna jednostavnost je razlog zašto danas na ovom uređaju možeš gledati mačje video-zapise, pisati poruke i, evo, čitati baš ovaj tekst.
Nema zupčanika. Nema pare. Turing nije htio sagraditi stroj, htio je sagraditi ideju o stroju, i to je razlika koja će tebe danas koštati par sekundi zbunjenosti, a njega nije koštala ništa, jer je cijela stvar postojala samo na papiru i u glavi. Zamisli beskonačno dugu traku podijeljenu na kućice — kao traku za pisaću mašinu, samo razrezanu na kvadratiće koji se nižu unedogled, i lijevo i desno. U svaku kućicu stane jedan simbol, recimo samo 0 i 1, ili prazno polje. To je sve što stroj ima za „memoriju” — traka, i simboli na njoj.
A drugo pitanje, kaže laik: dobro, traka, kužim traku — ali tko je onda čita?
Glava. Ne ljudska — doslovno se tako zove, read/write head, glava za čitanje i pisanje. Ona sjedi na jednoj kućici u nekom trenutku, pročita što je tamo napisano i na temelju toga odluči tri stvari: što će upisati u tu kućicu (možda ništa, možda promijeni simbol), kamo će se pomaknuti (lijevo, desno ili stati) i u kojem će „stanju” biti nakon toga. Stanje ovdje ne znači raspoloženje stroja, nego njegovu unutarnju postavku, malu bilješku tipa „upravo sam vidio nulu, sad tražim jedinicu” — nešto poput toga koje je dugme pritisnuto na starom televizoru bez ekrana, samo da ti kaže gdje si u priči. To zadnje je bitno, i tu dolazimo do trećeg dijela igračke.
Tablica stanja. Zvuči kompliciranije nego što jest — u biti je to samo popis pravila. Ako si u stanju A i vidiš simbol 0, radi ovo. Ako si u stanju A i vidiš simbol 1, radi ono drugo. Ako si u stanju B i vidiš 0... i tako dalje. Stroj u svakom trenutku ima jedno stanje, onu istu „bilješku” o kojoj smo pričali, pogleda što je na traci, provjeri u tablici što treba napraviti, napravi to, promijeni stanje ako treba i krene dalje. To je to. Cijeli stroj. Traka, glava, tablica. Tri stvari koje su, kombinirane, dovoljne da se izračuna — teoretski — apsolutno sve što je izračunljivo.
Dobro, kaže laik, ajmo probati. Daj mi neki konkretan primjer, jer mi ovo trenutno zvuči kao da si mi upravo detaljno objasnio kako radi — ništa.
Pošteno, kaže Turing. Uzmimo najglupiji mogući zadatak: stroj koji na traci s nizom jedinica i nula svaku jedinicu pretvori u nulu i obrnuto — takozvani „flip bita”, kao da netko ide duž trake i redom okreće prekidače. Traka izgleda ovako: 1, 1, 0, 1. Glava kreće na prvu kućicu, u stanju koje nazovimo „radi”. Vidi 1. Pravilo kaže: ako si u stanju „radi” i vidiš 1, upiši 0, ostani u stanju „radi”, pomakni se desno. Napravi to. Traka je sad: 0, 1, 0, 1, glava je na drugoj kućici. Vidi 1 opet. Isto pravilo: upiši 0, pomakni se desno. Traka: 0, 0, 0, 1. Glava na trećoj kućici. Vidi 0. Drugo pravilo: ako si u stanju „radi” i vidiš 0, upiši 1, ostani u „radi”, pomakni se desno. Traka: 0, 0, 1, 1. Glava na četvrtoj kućici. Vidi 1. Upiši 0, pomakni se desno. Traka: 0, 0, 1, 0. Glava dolazi na petu kućicu, koja je prazna — nema više ničega — i tu pravilo kaže: ako vidiš prazno, prijeđi u stanje „stop”. I gotovo. Stroj je stao.
Vidi, kaže laik, to je... glupo jednostavno. Bukvalno to mogu napraviti rukom, na papiru, s olovkom.
Bingo. To je cijela poanta, i to je zapravo najgenijalniji dio ove priče, samo što ga se ne primijeti na prvu jer je preočit. Turing nije izmislio nekakvu egzotičnu spravu koja radi magiju — izmislio je formalni opis onoga što ti već radiš kad rješavaš zadatak na papiru. Pogledaš trenutno stanje stvari, primijeniš pravilo, pomakneš se dalje, ponoviš. On je tu radnju, koju svaki „computer” (sjeti se, čovjek s olovkom, iz predgovora) obavlja cijeli dan u nekom uredu, jednostavno secirao do zadnje kosti i pokazao: evo, ovo je sve što je potrebno za „izračunati”. Nema tajnog sastojka. Nema iskre inspiracije usred posla. Samo pravilo, primijenjeno dosljedno, opet i opet.
I ovdje bi trebalo stati i udahnuti, jer slijedi nešto krupno — ali nastavljamo dalje, jer baš taj birokrat, koliko god zvučao smiješno, razlog je zašto se danas na sastancima baca pojam »Turing-complete«. Kad za neki sustav kažeš da je Turing-complete — bio to programski jezik ili, čuveno, i sam Minecraft (točnije, njegov redstone, sustav žica i sklopki unutar igre kojim igrači grade prekidače i logičke sklopove) — kažeš u biti ovo: sustav ima traku (neku memoriju), ima glavu (nešto što čita i mijenja tu memoriju) i ima tablicu pravila dovoljno moćnu da simulira baš svaki drugi takav sustav. Nema veze koliko je fizički čudan ili nezgrapan — ako ima ta tri elementa, teoretski može izračunati sve što se uopće može izračunati. Sporo, možda katastrofalno sporo, ali može.
Traka, glava, tablica. Zapamti ta tri, jer sad kad znaš kako izgleda stroj koji sve može izračunati, slijedi pitanje koje je puno opasnije: postoji li jedan takav stroj koji može simulirati baš svaki drugi stroj ove vrste — dakle jedna sprava koja bi mogla, samo promjenom pravila na traci, glumiti bilo koju drugu spravu ovog tipa?

Univerzalni stroj
E dobro, kaže laik, skužio sam ja tu traku i glavu i tablicu, frajer čita simbol, gleda tablicu, pomiče se lijevo-desno. Ali zašto se onda svi ubijaju od sreće oko ovoga? Dobro pitanje. Zato što Turing u tom istom radu iz 1936. napravi jednu sitnicu koja je, iskreno, veća od svega prije nje. Kaže: dobro, imam ja stroj za zbrajanje, i stroj za množenje, i stroj koji provjerava je li broj paran. Svaki od tih strojeva ima svoju tablicu stanja, svoj skup pravila, svoj mali svijet. Pitanje koje si nitko normalan ne bi postavio: mogu li napraviti JEDAN stroj koji odglumi bilo koji od tih strojeva, samo ako mu dam upute?
Odgovor je da. I taj jedan stroj zove se — pogodi — univerzalni stroj (»Universal Turing Machine«, ako hoćeš puno ime za pripaliti pametnjakovića na zabavi). Ideja je otprilike ovakva: umjesto da fizički pravim novi stroj za svaki novi zadatak, ja opis tog zadatka — tablicu stanja stroja koji želim simulirati — jednostavno zapišem kao niz simbola na istoj traci na kojoj bi inače stajali podaci; nema nikakvog posebnog utora ili priključka za „umetni stroj ovdje”, sve je isti papir. Taj opis onda ubacim u univerzalni stroj kao ulazni podatak, on ga pročita i počne se ponašati kao da je on sam taj drugi stroj.
I tu dolazimo do rečenice koja zaslužuje da stoji sama, boldirana, uokvirena, možda i tetovirana: program i podaci su ista vrsta stvari. Do Turinga su „stroj” i „zadatak koji stroj radi” bili zalemljeni jedno za drugo – promijeniš zadatak, moraš promijeniti i stroj (sjeti se ENIAC-a i njegovih kilometara kablova, o tome više u poglavlju 11). Turing kaže: ne moraš. Zadatak može biti samo informacija – niz simbola na traci, potpuno iste vrste kao i podaci koje taj zadatak obrađuje. Nema razlike u vrsti papira na kojem je napisan recept i papira na kojem je napisana lista namirnica; oboje je papir, oboje se može čitati, oboje se može promijeniti bez da zbog toga baciš pećnicu.
Zamisli birokrata iz prošle sekcije, onog s beskonačnim formularom i gumicom za brisanje. Sad zamisli da mu, umjesto da mu ti kao šef vičeš upute, jednostavno na vrh formulara zalijepiš — drugi formular. Formular koji mu govori kako da popunjava formulare. On taj metaformular čita po istim glupim pravilima kao i sve ostalo: pogledaj kućicu, upiši nešto, pomakni se dalje. Nema posebnog odjela za „upute”. Sve je isti papir, ista traka, iste dosadne gumice.
To je, ako želiš jednu rečenicu za cijelu informatiku poslije 1936., rođenje ideje softvera. Ne softvera kao proizvoda koji kupuješ u kutiji ili skidaš s neke sumnjive stranice — nego softvera kao KONCEPTA: da se ponašanje stroja može mijenjati bez mijenjanja stroja, samo mijenjanjem onoga što mu daš da pročita. Sve što danas radiš — instaliraš aplikaciju, otvoriš drugu, zatvoriš igru pa upališ tablicu — to je, u suštini, tvoje računalo koje svaki put učita novi „opis stroja” s diska i pretvara se da je taj stroj. Tvoj laptop nije jedan stroj. On je univerzalni stroj koji cijeli dan glumi tisuće drugih strojeva, i nikad ne zna razliku.
I usput, evo nešto za sastanke, da ispadneš pametan: kad neki tip kaže da je nešto „Turing-complete” (Turing-potpuno), ne priča o brzini ni o kul dizajnu — a to Turing-complete o kojem smo pričali odnosi se točno na ovo, na sustav koji ima dovoljno moći da simulira univerzalni stroj. Ne znači da je brzo, ne znači da je pametno koristiti Minecraft za to. Znači samo da je, teoretski, dovoljno moćno da odglumi bilo koje računalo na svijetu, uključujući samo sebe. Zvučalo je kao apstraktna sitnica u radu jednog dvadesetčetverogodišnjaka s Cambridgea — usput, tada već fellow koledža, kao s onog travnjaka s početka poglavlja. Ispalo je da je ta sitnica razlika između kalkulatora i svega ostalog što ikad dodirneš na ekranu.

Što se NE može izračunati
Dobro, kaže naš laik, imamo stroj koji čita traku i mijenja stanja. Fora. Ali onda čujem da postoji nešto što taj stroj NE MOŽE izračunati, i to me buni — pa nije li to samo stvar strpljivosti? Daš mu dovoljno trake i dovoljno vremena, i riješi sve, ne?
Ne. I baš to „ne” je razlog zašto se Turingovo ime spominje u istoj rečenici s Einsteinom, a ne samo u istoj rečenici s onim tipom koji je izumio USB-C.
Zamisli da imaš stroj koji, kad mu daš bilo koji drugi program, treba ti reći: „ovaj će stati” ili „ovaj će se vrtjeti u krug zauvijek”. Taj zadatak, provjeriti unaprijed hoće li se program ikad zaustaviti ili ne, zove se problem zaustavljanja (na engleskom halting problem) — ime koje ćeš, ako se ikad zabiješ u informatiku dublje od ovog poglavlja, sretati do kraja života. Zvuči korisno, zar ne? Programeri bi ga stavili na desktop i klikali cijeli dan. Nema više razmišljanja je li program samo zapeo ili naprosto dugo računa — pitaš stroj, stroj kaže.
Turing je dokazao da takav stroj ne postoji. Ne „još nije izgrađen”. Ne postoji, nikad neće postojati, matematički je nemoguć — kao trokut s četiri kuta.
Kako se to dokazuje? Trik je prljav i genijalan istovremeno: pretpostaviš da takav stroj (zovimo ga H, od engleskog Halting — „zaustavljanje”) postoji. Onda napraviš novi program koji pita H: „Jel' ja stajem?” i namjerno radi suprotno od odgovora. Ako H kaže „staješ” — program se zapetlja u vječnu petlju. Ako H kaže „nikad ne staješ” — program odmah stane. Stroj koji je trebao znati sve sam se demantira u istoj rečenici. Kontradikcija. Znači, H ne postoji.
OK, kaže laik, cool trik, ali zašto je to najvažniji rezultat u povijesti cijele struke? Nije li to samo jedna nezgodna sitnica koju informatičari izbjegavaju spomenuti na spoju? Pa evo zašto: ovaj isti trik — programa koji sam sebe pita „hoću li stati?” i onda inatno radi suprotno — nije Turingova ekskluziva. Isti fol, samo obučen u brojeve i logiku umjesto u traku i olovku, koristio je i Gödel u svom dokazu iz ulomka [2]. Kad neki sustav pokušava opisati samog sebe, on se prije ili kasnije zapetlja u vlastitu repu — i baš ta zapetljanost, ta neodlučivost, nije bug u dokazu, nego najfundamentalnija stvar koju je matematika u dvadesetom stoljeću uopće otkrila o samoj sebi.
Zato što je to prva čvrsta granica onoga što računanje uopće jest. Prije Turinga ljudi su mislili da je „izračunljivo” isto što i „dovoljno pametno ili strpljivo” — dovoljno jak procesor, dovoljno vremena, i eto rješenja. Turing je nacrtao zid i rekao: evo, ovdje računanje prestaje postojati, bez obzira koliko brz ili velik stroj napraviš. Nije pitanje tehnologije. Nije pitanje da čekamo bolji procesor 2041. godine. Zid je konceptualan, ne inženjerski — ne možeš ga zaobići boljim kabelima.
I ta granica se, iznenađujuće, ne tiče samo apstraktnih matematičara u sobama punim ispisanih ploča. Svaki put kad neki program „zaglavi” i ne znaš trebaš li čekati ili ga ubiti — to nije zato što programer nije dovoljno dobar. To je zato što, u općem slučaju, NE POSTOJI način da unaprijed znaš. Task Manager, taj prozorčić u Windowsima gdje gasiš programe koji su poludjeli, ne pogađa nasumično — ali ni on ne rješava problem zaustavljanja. On samo čeka i gleda, baš kao i ti.
Dobro, pita laik na kraju, malo pokunjeno — ako je Turing dokazao da postoje stvari koje se uopće ne mogu izračunati, znači li to da smo cijelu informatiku sagradili na temeljima s rupom?
Da. I baš ta rupa je razlog zašto je računanje zanimljivo, a ne dosadno. Da je sve izračunljivo, informatika bi bila veliki, spori kalkulator — utipkaš, čekaš, izbaci broj, kraj priče. Ta rupa je razlog zašto uopće postoje pitanja koja je vrijedno pitati.

Čovjek iza papira
Dobro, kaže laik, sve mi je ovo lijepo i krasno — stroj od papira, univerzalni stroj, stvari koje se uopće ne mogu izračunati — ali tko je uopće ovaj tip? Dobro pitanje. I tu stvari postaju zanimljive, jer čovjek koji je na papiru srušio temelje matematike nije bio neki elegantni profesor s lulom koji baca mudre rečenice na čajankama. Bio je, iskreno, prilično čudan lik za Cambridge tog doba.
Prvo, trčao je. Ne rekreativno, ne „da se malo prozrači između predavanja” — trčao je na razini koja je bila blizu olimpijske klase u maratonu. Kolege su ga znali gledati kako sprinta kilometrima do Londona na sastanke, jer mu je to bilo brže i jeftinije od vlaka, a usput je time trenirao za utrke u kojima je bio stvarno konkurentan. Taj London, odnosno mjesto blizu njega — Bletchley Park — kasnije će se upisati u povijest kao tajna baza gdje će Turing razbijati njemačke šifre iz Drugog svjetskog rata, ali o tome više u posebnom poglavlju; sad je 1936. i on je tek genijalac koji trči. Zamisli tipa koji ti riješi onaj isti Entscheidungsproblem prije podneva, a popodne otrči maraton kao zagrijavanje. Ne uklapa se u stereotip „znanstvenik jednako mršava sjena koja se boji sunca”, i dobro je što ne uklapa — jer stereotipi su uglavnom lijena skraćenica za „nisam se potrudio upoznati osobu”.
Drugo, socijalno je bio, da kažemo to blago, težak za publiku. Mucao je, izbjegavao je pogled u oči, nosio je istu odjeću dok se ne bi raspala, a na formalne večere koledža — gdje se u tom Cambridgeu inzistiralo na kravatama i pristojnom pretvaranju da svi o svima mislimo najlijepše — dolazio je s otvorenošću koja je zvučala kao uvreda, samo zato što nije znao (ili nije htio) filtrirati što izgovara. Rekao bi ono što misli. Direktno. Bez omotača. Ljudima koji su cijeli život trenirali umijeće britanske suptilne uvrede to je zvučalo kao da netko ne poznaje pravila igre — a on jednostavno nije igrao tu igru.
Treće — i ovo je bitno za ovu priču, ne za sljedeću — bio je brutalno svjestan koliko malo ljudi razumije što je upravo napravio. Rad iz 1936. nije mu donio zvijezde i intervjue; donio mu je poštovanje uže skupine logičara i, realno, dosta ravnodušnosti okoline koja nije imala pojma da je papir o „strojevima koji ne postoje” upravo definirao granice svega što će ikad postojati u računalstvu. On je to znao. Nastavio je dalje, prema Cambridgeu i Princetonu, prema ratu, prema stvarima koje su tek dolazile — ali o tome, i o onome što je slijedilo poslije, ovo poglavlje neće pisati.
Zašto ne? Zato što ta priča — kako su ta genijalnost i ta iskrenost na kraju platile cijenu koju nikad nisu smjele platiti — zaslužuje svoje poglavlje, ne fusnotu na kraju ovog. Za sada, ostavimo ga tu: mladić koji trči, koji govori istinu i ne pazi kome smeta, koji je na komadu papira upravo izmislio ideju softvera i o tome pričao kao da je to normalna srijeda.