Ljubavno pismo učenju
U dubini gotovo svakog savremenog računara postoje slojevi softvera koje korisnik nikada neće videti. Oni pokreću procesor, raspoređuju memoriju, prenose podatke kroz mrežu, čitaju uređaje i omogućavaju drugim programima da uopšte postoje. Veliki deo tog nevidljivog sveta napisan je jezikom koji nosi samo jedno slovo: C. Njegov tvorac Dennis Ritchie nije izgledao kao čovek koji želi da bude zaštitno lice digitalne revolucije. Na fotografijama iz Bellovih laboratorija stoji pomalo povučeno, često sa blagim osmehom, više nalik tihom univerzitetskom istraživaču nego graditelju infrastrukture budućnosti.
Dennis MacAlistair Ritchie rođen je 9. septembra 1941. godine u Bronxvilleu u saveznoj državi Njujork, a odrastao je u Summitu u Nju Džerziju. Njegov otac Alistair E. Ritchie bio je inženjer i istraživač Bellovih laboratorija, stručnjak za teoriju prekidačkih kola i jedan od autora značajne knjige o projektovanju takvih sistema. Telefonska mreža tog vremena počivala je na ogromnom broju precizno uređenih veza, releja i prekidača, pa je Dennis odrastao u blizini sveta u kojem se složeno ponašanje razume otkrivanjem pravila koja povezuju njegove delove.
Na Harvardu je studirao fiziku i završio osnovne studije 1963. godine, a zatim se usmerio prema primenjenoj matematici. Računarska nauka još nije bila široko uspostavljena kao zasebna disciplina, pa su njeni budući tvorci dolazili iz oblasti koje su im davale različite načine mišljenja. Fizika je Ritchieja učila da apstraktna jednačina mora ostati povezana sa stvarnim ponašanjem sveta, dok mu je matematika nudila strogu strukturu. Računari su omogućavali da se struktura pretvori u izvršiv postupak čije posledice mogu biti precizno posmatrane.
Tokom poslediplomskih studija bavio se teorijom izračunljivosti i hijerarhijama funkcija. Završio je rukopis doktorske disertacije o složenosti izračunavanja i strukturi programa, ali formalni doktorat nije dobio jer rad nije prošao sve administrativne korake potrebne za zvanično deponovanje. Sačuvani primerak disertacije pronađen je mnogo kasnije, što ovoj epizodi daje gotovo književnu meru: čovek čiji će programski jezik zahtevati preciznost do poslednjeg znaka nije pokazao naročitu potrebu da administrativno dovrši potvrdu sopstvenog akademskog statusa.
U Bellove laboratorije stigao je 1967. godine. Tamo je ušao u sredinu u kojoj su fizičari, matematičari, stručnjaci za komunikacije i programeri svakodnevno razmenjivali ideje. Stabilnost kompanije AT&T omogućavala je istraživanja koja nisu morala odmah da postanu tržišni proizvod, pa su daroviti ljudi mogli godinama da razvijaju temeljna rešenja. Ritchie se priključio grupi koja je radila na Multicsu, ambicioznom operativnom sistemu čiji su ciljevi obuhvatali deljenje računarskog vremena, zaštitu podataka i trajno dostupnu informacionu infrastrukturu.
Posle povlačenja Bellovih laboratorija iz Multicsa, Ken Thompson je započeo manji operativni sistem koji će dobiti ime Unix. Thompson je posedovao izuzetnu brzinu u pronalaženju funkcionalnog jezgra sistema, dok je Ritchie donosio strpljenje za jezik, tipove podataka i dugoročne posledice tehničkih odluka. Njihove sposobnosti nisu se stapale u bezličnu celinu: Thompson je prevashodno oblikovao prvobitni Unix i njegove ključne mehanizme, dok je Ritchie iz razvojnog niza jezika BCPL i B stvorio C. Njihova dela postala su nerazdvojna jer je svako rešavalo ograničenje onog drugog.
Ritchie je bio čovek precizne mere. Jezik koji je razvijao morao je da bude dovoljno udaljen od pojedinačne mašine da program može biti prenet, ali dovoljno blizu hardveru da se njime mogu pisati operativni sistemi i drugi zahtevni programi. C je sačuvao pokazivače, neposredan rad sa memorijom i efikasne operacije nad podacima, dok je programeru pružio funkcije, tipove i strukturu daleko pregledniju od asemblera. Ta ravnoteža postala je njegovo najveće intelektualno delo.
Njegovo partnerstvo sa Brianom Kernighanom pokazalo je drugi oblik saradnje. Kernighan nije bio tvorac jezika C, ali je rano prepoznao koliko je novom jeziku potrebno jasno i disciplinovano objašnjenje. Zajedno su 1978. godine objavili knjigu The C Programming Language, poznatu kao K&R. Kernighan je umeo da složenu tehničku zamisao izloži bez suvišnih reči, dok je Ritchie poznavao razloge, izuzetke i istorijske slojeve jezika. Njihova knjiga bila je kratka zato što su autori dobro razumeli redosled u kojem znanje treba otkrivati.
Čuveni primer „hello, world” iz te knjige prerastao je u običaj koji su prihvatili gotovo svi kasniji programski jezici. Milioni ljudi započeli su učenje programiranja kratkom porukom čije poreklo vodi do kulture Bellovih laboratorija i Kernighanovih ranijih primera. Ritchiejev uticaj tako se ne nalazi samo u dubokim slojevima operativnih sistema već i u jednom od najnežnijih trenutaka programerskog obrazovanja: prvom susretu učenika sa jezikom koji će pokušati da razume.
Kolege su Ritchieja opisivale kao ljubaznog, duhovitog i povučenog čoveka koji nije tražio središte pažnje. Na stručna pitanja odgovarao je precizno, ponekad sa suvom ironijom, a sopstveni doprinos smeštao je u zajednički kontekst Bellovih laboratorija. Njegova skromnost nije prikrivala neznanje o značaju sopstvenog rada. Poznavao je prednosti i slabosti C-a bolje od njegovih najoduševljenijih sledbenika i razumeo da moć pokazivača, sažeta sintaksa i blizina memoriji istovremeno predstavljaju izvor veličine i opasnosti jezika.
Thompson i Ritchie delili su godine svakodnevnog rada bez potrebe da svoju saradnju pretvore u javnu predstavu. Njena snaga počivala je na dubokom poverenju u tehnički ukus drugoga. Thompsonov sistem pokazivao je koje su osobine jezika praktično potrebne, dok je Ritchiejev jezik omogućavao da sistem postane čitljiviji i prenosiviji. Kasnija priznanja često su dodeljivana obojici zato što je Unix bez C-a mogao ostati vezan za nekoliko ranih mašina, dok bi C bez Unixa možda ostao uticajan laboratorijski jezik bez tako ubedljivog dokaza sopstvene vrednosti.
Godine 1983. dobili su Tjuringovu nagradu za doprinos teoriji operativnih sistema i stvaranje Unixa. Predsednik Bill Clinton dodelio im je 1999. godine Nacionalnu medalju za tehnologiju, a zajedno su primili IEEE Hammingovu medalju i Japansku nagradu. Svečanosti su Ritchieja povremeno izvodile pred veliku publiku, ali nisu promenile njegovu osnovnu uzdržanost. Njegova slava ostala je naročito snažna među programerima, ljudima koji su svakodnevno mogli da prepoznaju koliko njihov rad počiva na njegovim odlukama.
Ritchiejeva profesionalna radoznalost nastavila se kroz operativni sistem Plan 9, razvijan sa Robom Pikeom, Kenom Thompsonom i drugim istraživačima. Plan 9 je pojedine Unixove ideje prilagodio svetu umreženih i distribuiranih računara, doslednije predstavljajući udaljene i lokalne resurse kroz zajedničke interfejse. Ritchie je kasnije radio i na sistemu Inferno i jeziku Limbo. Ti projekti nisu dostigli rasprostranjenost Unixa i C-a, ali pokazuju da svoj najveći uspeh nije pretvorio u spomenik pred kojim će provesti ostatak karijere.
Promene u telekomunikacionoj industriji postepeno su menjale i Bellove laboratorije. Raspad starog sistema kompanije AT&T, reorganizacije i nastanak Lucent Technologiesa sužavali su prostor za dugoročna industrijska istraživanja. Ritchie je postao rukovodilac odeljenja za istraživanje sistemskog softvera, nastavljajući da radi u kulturi tehničke dubine iako je ona sve snažnije osećala tržišni pritisak. Povukao se iz Lucenta 2007. godine, posle četiri decenije rada u ustanovi koja je oblikovala njegov profesionalni život.
Njegovo zdravlje bilo je ozbiljno narušeno tokom poslednjih godina. Lečen je od raka prostate i imao je srčane probleme, a živeo je povučeno u Berkeley Heightsu u Nju Džerziju. Umro je u oktobru 2011. godine, u sedamdesetoj godini. Vest o njegovoj smrti stigla je samo nekoliko dana posle smrti Stevea Jobsa, zbog čega je Ritchiejev odlazak u široj javnosti ostao gotovo zaklonjen velikim talasom pažnje posvećenim Appleovom osnivaču.
Među programerima je njegova smrt izazvala duboko osećanje gubitka. Rob Pike objavio je vest, a zatim su se širom stručne zajednice pojavila sećanja ljudi koji su razumeli koliko savremeni softver duguje Ritchieju. Poređenje sa Jobsom ubrzo je dobilo simboličan oblik: jedan je pomagao da se oblikuje način na koji javnost vidi i dodiruje računar, dok je drugi stvarao jezik i sisteme ispod te vidljive površine. Obe vrste stvaralaštva bile su važne, ali je samo jedna svakodnevno stajala pred kamerama.
Ritchie nije ostavio opsežnu autobiografiju kojom bi javnosti ponudio sigurnu priču o svojim osećanjima i životnim prekretnicama. Njegov karakter nazire se kroz tehničke tekstove, elektronske beleške, intervjue i sećanja saradnika. Iz njih se pojavljuje čovek izuzetnog intelekta i tihog temperamenta, sposoban da godinama usavršava apstrakciju planetarnog značaja bez potrebe da je okruži velikim rečima. Pripadao je kulturi u kojoj su vrednost ideje proveravali stručni saradnici i stvarni sistem, a ne veličina lične publike.
Njegova priča podseća da autoritet može biti gotovo nečujan. Ritchie nije morao neprekidno da uverava druge da razume računare, jer se njegovo razumevanje nalazilo u jeziku koji su drugi mogli da koriste, ispituju i prenose. Nije zahtevao poverenje unapred, već je ponudio delo izloženo svakodnevnoj proveri miliona programera. Takav autoritet ne osvaja prostor samouverenim nastupom, nego ga polako stiče preciznošću koja odoleva vremenu.
Dennis Ritchie ostao je skromni arhitekta temelja koji se retko pojavljuju na fasadi. Kada telefon pokrene operativni sistem, server obradi zahtev ili program napisan savremenim jezikom pozove biblioteku koja razgovara sa hardverom, posledice njegovog rada nastavljaju da deluju ispod vidljive površine. Većina ljudi nikada neće izgovoriti njegovo ime, ali će svakodnevno živeti u svetu koji je pomogao da se izgradi. Za čoveka koji nije tražio da bude glasniji od svog dela, teško je zamisliti prikladniji oblik trajanja.