211service.com
Omskrivning af Bibelen i 0'er og 1'er
Når du skriver om Donald Knuth, er det naturligt at lyde skriftpræget. I næsten 40 år har den nu pensionerede professor ved Stanford University skrevet evangeliet om computervidenskab, et epos kaldet The Art of Computer Programming. De første tre bind udgør allerede den gode bog for avancerede softwaretilhængere, der sælger en million eksemplarer rundt om i verden på et dusin sprog. Hans tilgang til kode gennemsyrer softwarekulturen.
Og se, Donald Knuth afbrød sit kald i ni år og vandrede rundt i computertypografiens vildnis og skabte et program, der er blevet Ordet i digital sætning til videnskabelig udgivelse. Han kaldte sin software TeX og tilbød den til alle troende og afviste forsøget fra en stamme (Xerox) på at hævde ejerskab over dens matematiske formler. Matematik tilhører Gud, erklærede han. Men Knuths Gud er ikke hævet over tricks på de troende. I sin TeX-guide, The TeXbook, skriver han, at den ikke altid fortæller sandheden, fordi teknikken med bevidst løgn faktisk vil gøre det lettere for dig at lære ideerne at kende.
Den 61-årige Knuth (ka-NOOTH), der nu er opsat på at færdiggøre sine skrifter, fører, hvad han kalder en eremitlignende tilværelse (sammen med sin kone) i bakkerne omkring universitetet, efter at han har taget førtidspension fra undervisningen. Han har frakoblet sin personlige e-mail-konto og har lagt en webside op (www-cs-faculty.stanford.edu/~knuth/) for at holde softwaremængderne på afstand ved at besvare ofte stillede spørgsmål som, Hvornår udkommer bind 4 ?
Cirka en gang om måneden i løbet af det akademiske år kommer Knuth ned fra højderne til et forelæsningslokale i kælderen i Gates Computer Science Building i Stanford for at holde et af sine Computer Musings-foredrag, normalt om et aspekt af hans nuværende arbejde med The Art of Computer Programmering. Disse foredrag trækker datalogistuderende, gæsteprofessorer, softwareingeniører fra nærliggende virksomheder og en lejlighedsvis CEO. På en lun dag tidligere i år er emnet og lytterne anderledes. For at fejre udgivelsen af
tredje bind af hans samlede papirer, Digital Typography, har medarbejdere fra Stanford University Libraries inviteret et publikum af fans af det trykte ord til at høre Knuth fortælle om at skabe TeX-systemet til videnskabelig og matematisk udgivelse. Iført en sort T-shirt over en langærmet sort skjorte, hans skaldede patte glimter i lyset ovenfra, fremstår han passende munkeagtig foran omkring 70 akolytter og kolleger.
Tøvende, med sine ord, der bekæmper sin medfødte lutherske beskedenhed, begynder han: Mit vigtigste livsværk og grunden til at jeg startede hele dette projekt er at skrive en serie bøger kaldet The Art of Computer Programming – som jeg håber at leve i 20 år til og færdiggøre det projekt, jeg begyndte i 1962. Desværre er computerprogrammering vokset med årene, og jeg har derfor været nødt til at skrive lidt mere, end jeg troede, da jeg skitserede det. De trofaste griner bevidst.
Knuth fortæller om sin omvej til digital typografi i 1970'erne. Dette var en tid med enorme forandringer i sættemaskineindustrien, da computersystemer erstattede den varme type, der var blevet brugt siden Gutenbergs dag. Computertypografi var billigere, men også mindre æstetisk tiltalende - især for kompleks matematisk notation. Minder om Knuth: Efterhånden som printteknologien ændrede sig, blev de vigtigere kommercielle aktiviteter behandlet først, og matematikere kom sidst. Så vores bøger og dagbøger begyndte at se meget dårlige ud. Jeg kunne ikke holde ud at skrive bøger, der ikke ville se godt ud.
Knuth påtog sig at skrive hver linje kode til software, der gav smuk typografi. Han hentede navnet på sit sætteprogram fra det græske ord for kunst - bogstaverne er tau epsilon chi (det rimer på blecch). Siger Knuth: Langt over 90 procent af alle bøger om matematik og fysik er sat med TeX og med dets ledsagende software, Metafont, et værktøj Knuth har udviklet til at designe behagelige skrifttyper.
Han er hurtig til at anerkende bidraget fra de typedesignere, punch cutters, typografer, boghistorikere og lærde, han samlede på Stanford, mens han udviklede TeX. Nogle er blandt publikum. Han fortæller dem: TeX er det, vi nu kalder open-system software - alle i hele verden kan bruge det gratis. På grund af dette havde vi tusindvis af mennesker rundt om i verden til at hjælpe os med at finde alle fejlene. Jeg tror, det nok er det mest pålidelige computerprogram af sin størrelse nogensinde.
Enhver, der tvivler på denne påstand fra den decideret upralede Knuth, kan få bekræftelse fra Guy Steele, en af TeX's første brugere og nu en fremtrædende ingeniør hos Sun Microsystems. TeX, siger Steele, var et af de første store programmer, hvis kildekode blev offentliggjort åbent. Steele siger, at Knuths udgivelse af TeX-koden i en bog, sammen med fuldstændige kommentarer, gjorde det, så alle kunne forstå, hvordan det fungerer og tilbyde fejlrettelser. Med akademiets bedste videnskabsmænd og matematikere som betatestere hjalp et ekstraordinært kvalitetskontrolteam med at perfektionere TeX. (TeX-udviklingsindsatsen var en model for nutidens open source-softwarebevægelse, som har givet verden Linux-et operativsystem, der begynder at konkurrere med Microsoft Windows.)
Perfektabilitet er en stor optagethed hos Knuth. Den eneste e-mailadresse, Knuth har, samler rapporter om fejl fra læsere af hans bøger, og tilbyder $2,56 for hver tidligere urapporteret fejl. (Beløbet er en indvendig joke: 256 er lig med 2 til 8. potens - antallet af værdier, en byte kan repræsentere.) Knuths belønningschecks er blandt computerdomens mest værdsatte trofæer; få er faktisk indkasseret.
Han tager denne fejlforretning meget alvorligt. Indgraveret i indgangen til hans hjem er den danske digter Piet Heins ord:
Vejen til visdom?
Nå det er almindeligt
og let at udtrykke:
Err
og fejl
og tage fejl igen
men mindre
og mindre
og mindre.
I en variation af dette tema om perfektabilitet har Knuths bidrag til computervidenskabsteori på siderne i The Art of Computer Programming været hans strenge analyse af algoritmer. Ved hjælp af metoder i hans bog kan de operationer, der bruges til at oversætte maskininstruktioner til ligninger, testes for at afgøre, om de er optimale. At forbedre et program bliver så et spørgsmål om at finde algoritmer med de mest ønskværdige egenskaber. Ikke at teoretiske beviser kan erstatte faktisk kørende software på en computer. I en ofte citeret bemærkning, han nævner på sin webside, advarede han engang en kollega: Pas på ovenstående kode; Jeg har kun bevist det korrekt, ikke prøvet det.
Dårlige pauser
I Knuths Stanford-tale var perfektabilitet igen et tema. Han fulgte siderne i sit bind om digital typografi ud over dets indledende kapitler til det længste afsnit i bogen, som angriber et afgørende problem inden for typografi. Han henleder sine lytteres opmærksomhed på et af de vigtigste tekniske tricks i TeX-systemet: spørgsmålet om, hvordan man deler afsnit op, så linjerne er nogenlunde lige og gode.
Dårlig mellemrum mellem ordene og grimme valg til linjeskift havde været blandt de store computertypografiske fejl, der lancerede Knuth på hans TeX-korstog. Ulige ordkløfter, stiger af bindestreger og forældreløse tekststykker var resultatet af de stive algoritmer, der blev brugt til at programmere linjeskift uden hensyn til visuel elegance. Knuths løsning: få computeren til at bruge trial-and-error-metoder til at teste, hvordan hvert afsnit af teksten bedst kan opdeles. I stedet for at grådige algoritmer pakker flest ord på en linjestandard i computertypografi før og efter TeX-Knuths beregningstunge metode evaluerer skønhed.
Knuth synes født til opgaven at fremme skønhed på den trykte side via beregningsmetoder. Jeg havde en kærlighed til bøger fra begyndelsen, fortæller han til sit publikum. I min mors samling fandt vi den første alfabetbog, jeg havde. Jeg havde taget bogstaverne og talt alle serifferne. Han er stolt af sin tidlige læsefærdighed og fortæller en forfatter, at han var det yngste medlem af Book Worm Club på Milwaukee Public Library. Hans interesse for typografisk gengivelse kom også tidligt i livet. Et af hans tidligste minder om præ-desktop-udgivelse var at hjælpe sin far, Ervin, med mimeografiske stencils til udskrivning af kirkens nyhedsbrev i kælderen. Ligesom sin fars nyhedsbrev skulle TeX være et hjemmebrygget projekt i en overskuelig skala. Den oprindelige hensigt var, at det skulle være for mig og min sekretær, fortæller han til TR i et interview i sit hjems arbejdsværelse på anden sal. Lænet tilbage i den sorte loungestol erkender Knuth, at den lange rejse ind i TeX var tænkt som en hurtig sidetur: Jeg skulle gøre den færdig om et år.
Begivenhederne tog en anden drejning. I 1978 besøgte Sun's Steele - dengang en MIT-studerende, Stanford-oversat TeX til brug på MIT's mainframe-computer. Pludselig, husker Knuth, havde jeg 10 brugere, derefter 100. Hver gang gik det igennem forskellige fejlniveauer. Mellem den 1.000. og 10.000. bruger rev jeg koden op og startede forfra. Knuth siger, at han indså, at TeX ikke bare var en digression, det var i sig selv en del af visionen. Jeg så, at dette opfyldte et behov i verden, og derfor må jeg hellere gøre det rigtigt.
Et vigtigt vendepunkt i udbredelsen af TeX var et foredrag, Knuth holdt for American Mathematical Society (AMS). Barbara Beeton, en stabsspecialist i kompositionssystemer til AMS og mangeårig embedsmand i den Portland, Ore.-baserede TeX User's Group, husker lejligheden: Han blev inviteret til at holde Josiah Willard Gibbs-foredraget. Albert Einstein og John von Neumann havde været blandt de tidligere talere. Knuth fortalte om sit nye sættesystem for første gang offentligt. Knuth prædikede for koret; de forsamlede matematikere var bekendt med, hvordan trykkvaliteten var faldet. Tilføjer Beeton: TeX var det første kompositionssystem, der skulle bruges af forfatteren til en artikel eller bog i modsætning til et forlag. Kort efter blev AMS den oprindelige institutionelle bruger af TeX, ved at bruge Knuths system til at udgive alle dets dokumenter og tidsskrifter.
Efterhånden som ordet spredte sig, og flere brugere benyttede sig af hans gratis software (skrevet til en akademisk mainframe-computer, men snart gjort tilgængelig til pc'er), fandt Knuth ud af, at han studerede udskrivningens historie for at finde løsninger til snævre applikationer. Ofte viste hans forskning sig frugtesløs, og han måtte komme med sit eget svar. Til ceremonielle invitationer skabte han nye skrifttyper; til musikalsk sætning løste han vanskelige opstillingsproblemer. Jeg havde så mange brugere, husker han. Fra bryllupsinvitationer og programmer til det lokale symfoniorkester til computerprogrammer.
I næsten ni år optog Knuths indtog i typografi ham på fuld tid og trak ham væk fra arbejdet med programmeringsbogen, som han anså for hans sande kald. Jeg skulle tænke på slutspillet, siger han. Hvordan kunne jeg ansvarligt afslutte TeX og sige: Dette ændrer sig ikke længere? Jeg var nødt til at udarbejde en fire-årig strategi for at komme ud af mig selv og vende tilbage til The Art of Computer Programming.
Knuths løsning: med udgivelsen af TeX version 3.0 i 1990 erklærede han sit arbejde færdigt. Disciplene bliver nødt til at vedligeholde systemet. Knuth siger, at han vil begrænse sit arbejde til at reparere de sjældne fejl, som han blev opmærksom på; med hver rettelse tildeler han et ciffer mere til versionsnummeret, så det har tendens til pi (den nuværende version er 3.14159).
Et resultat af Knuths beslutning om at stoppe med at foretage større ændringer i TeX er, at TeX-filformatet er forblevet uændret. Det er den eneste software, hvor du kan tage filen til dit papir fra 1985 og ikke behøver at konvertere den til at printe ud på samme måde i dag, bemærker David Fuchs, en seniorforsker hos Liberate Technologies (tidligere Network Computer Inc.), som var en grad studerende ved Stanford under udviklingen af TeX. Fuchs anslår, at der er 1 million TeX-brugere på verdensplan; mange anvender kommercielle pakker til særlige formål bygget op omkring TeX-kernen, såsom LATeX (et kommando-orienteret makrosprog) og TeXDoc (optimeret til softwaredokumentation).
På den negative side er TeX begrænset i sin appel, fordi det ikke er WYSIWYG, indrømmer Fuchs, ved at bruge forkortelsen for det, du ser, er det, du får - standardudtrykket, der beskriver tekstbehandlingssoftware, der viser formatering på skærmen, som det vil blive vist på den udskrevne side . I stedet for at tilbyde interaktivitet på skærmen i realtid, kræver TeX et opmærkningssprog, der indtastes i et dokument og fortolkes af computeren; du ser først, hvad du får, når det er på tryk. På trods af sin uintuitive brugergrænseflade har TeX udviklet en dedikeret kerne af produktionsprofessionelle, som ikke vil acceptere nogen erstatning. Hvorfor skulle nogen ønske noget andet? spørger Paul Anagnostopolis, en Carlisle, Mass.-baseret forlagskonsulent og forfatter af TeX-baseret software til bogkomposition. Mange mennesker er ligeglade med WYSIWYG.
Opus i gang
At bruge ni år i stedet for ét på at skabe tex er den samme slags episke fejlberegning, som førte Knuth til den monumentale skala af Kunsten at programmere computer . Efter at have opnået sin bachelorgrad ved Case Institute (nu Case Western Reserve), studerede han til sin ph.d. og underviste ved California Institute of Technology i 1962, da han fik kontrakt med lærebogsforlaget Addison-Wesley om at skrive et bind om computerkompilatorer. (Compilere er specielle programmer, der konverterer den tekst, der er indtastet af programmører, til instruktioner på en computers binære sprog.)
I sit bogforede studie fortæller Knuth om projektets historie. Fra 1962 til 1966 skrev han det første udkast med blyant. Manuskriptet var på 3.000 sider. Jeg troede, det var et bind på måske 600 sider. Jeg regnede bare med at skrive i bøger var mindre end min håndskrift. Så skrev jeg kapitel et, og i sig selv var det 450 sider. Jeg sendte den til forlaget, og de sagde: Don, har du nogen idé om, hvor lang din bog bliver?
Stillet over for et så uhåndterligt manuskript ville mange forlag have dumpet projektet. I stedet udarbejdede Addison-Wesley en udgivelsesplan for, hvad der i sidste ende kunne strække sig ud til syv bind. Bind 4 formodes at være klar i 2004 og bind 5 i 2009. Så kan Knuth afslutte bind 6 og 7 - hvis det, han har at sige om de valgte emner, stadig er lærerigt. Peter Gordon, forlagspartner hos Addison-Wesley og Donald Knuths redaktør i de sidste 20 år, forklarer, at succesen med de første tre bind af The Art of Computer Programming har gjort det muligt for forlaget at bygge hele sin datalogiske linje omkring Knuths arbejde. Don har sin egen livsplan og sin egen sans for timing, bemærker han. Han er sådan en kreativ og begavet forfatter, det bedste enhver redaktør kan gøre er at holde sig ude af vejen og lade ham følge sin plan.
Det hjælper, at bogen bliver ved med at høste ros fra andre seere i det digitale område. I sin syndikerede avisspalte svarede Bill Gates engang til en læser: Hvis du tror, du er en rigtig god programmør, eller hvis du vil udfordre din viden, så læs The Art of Computer Programming, af Donald Knuth. Gates beskrev sit eget møde med bogen: Det tog utrolig disciplin og flere måneder for mig at læse den. Jeg studerede 20 sider, lagde det væk i en uge og kom tilbage til yderligere 20 sider. Hvis nogen er så fræk, at de tror, de ved alt, vil Knuth hjælpe dem med at forstå, at verden er dyb og kompliceret. Hvis du kan læse det hele, så send mig et CV.
Det, der understøtter Knuth gennem hans episke projekt, er hans grundlæggende kærlighed til emnet. Folk, der arbejder med analyse af algoritmer, har dobbelt lykke, siger han og lyder Yoda-agtigt. Du er glad, når du løser et problem og igen, når folk smiler ved at bruge din løsning i deres software.
Før han kan hvile sig i det forjættede land, står Knuth over for et sidste bjerg. Han skal redesigne den generaliserede computer, der bruges i sin bog til programmeringseksempler og øvelser, fra en 50 år gammel maskine i von Neumann-stil med ineffektive kommandoer til et mere moderne RISC (reduceret instruktionssæt computer) system, der tillader hurtigere drift. (Intel-processorer i de fleste pc'er er af den ældre sort; PowerPC-chips i nyere Macintosh-modeller er RISC.) Jeg forsøger at designe den, så den er 10 år forud for sin tid, siger Knuth. Jeg har studeret alle de maskiner, vi har nu, og forsøgt at tage deres bedste funktioner og sætte dem alle sammen. Denne super RISC-maskine, som han kalder MMIX, er i bund og grund et undervisningskoncept. Men han siger, at han ville elske at se det bygget. Jeg bruger meget tid på at dokumentere det, så nogen kan bygge det. Designet vil være i det offentlige domæne. Midt i sin Computer Musings-serie af introduktionsforedrag om MMIX er Knuth kun måneder fra at færdiggøre denne fase af sit arbejde.
Og så? Jeg begynder at lade op på Volume 4 ved tophastighed. Jeg kan skrive om én publicerbar side om dagen, siger han. På en anden bog skrev han engang med en hastighed på to sider om dagen, men det var for meget. Jeg kunne ikke være en god mand og en god far, og det var ikke godt. Så jeg lover bare 250 sider om året for bind 4. For tilhængere af Knuths softwarebibel, inklusive Bill Gates, kan disse sider ikke komme hurtigt nok.
Hvad angår Knuths urokkelige tillid til at forfølge sit langsigtede mål, ser biologien ud til at være på hans side. Hans mor er 87, ved godt helbred og arbejder stadig, siger han, i ejendomskontorets ledelse. Hans far, som startede ham på vejen til computertypografi, døde som 62-årig. Alligevel konkluderer denne digitale patriark: Min fars far blev 97 år, så jeg håber at kunne følge ham.
Før han når den høje alder, der kræves for at fuldføre alle sine udgivelsesplaner, kan Knuth blive nødt til at møde de fristelser, der følger med berømmelse. En to-siders magasinannonce for fatbrain.com proklamerer over en edgy collage: Præsenterer den eneste boghandel på jorden, hvor Donald Knuth sælger John Grisham en milliard til en. Dette kan være den første kommercielle anerkendelse af Knuths ikoniske status blandt digerati. Vil en sådan anerkendelse føre til en plage af opmærksomhed, lige når softwarens vismand er ved at genoptage sin rejse mod fuldførelsen af sin livsmission? Det får dig til at spekulere på, hvor meget længere Moses kunne have vandret i ørkenen, hvis nutidens medier havde eksisteret.