RC/NIB/kap11
Programmøren som hvalp
Af Per Brinch Hansen
Jeg kom til Regnecentralen i 1963 for at arbejde hos Peter Naur og Jørn Jensen. De to var så samarbejdede, at de knap behøvede at sige noget for at løse et problem. Jeg husker en diskussion hvor Peter skriver noget på tavlen hvorefter Jørn siger »men Peter ...« og øjeblikkelig får tilbage »ja, naturligvis Jørn.« Jeg sværger på at der ikke blev sagt andet. Det gjorde indtryk når man ikke engang anede hvad diskussionen i det hele taget drejede sig om.
Efter to års læretid som programmør havde jeg lyst til at rejse ud og arbejde for IBM i Winchester i Sydengland. På det tidspunkt var Henning Isaksson så småt begyndt at planlægge en proceskontrolmaskine sammen med firmaet Haldor Topsøe. Henning havde længe bedt Niels Ivar Bech om at få en systemprogrammør. Da jeg nu alligevel tænkte på at rejse syntes Bech at jeg ligeså godt kunne flytte til Isaksson's afdeling i Valby. Det var således ikke på grund af min dybe erfaring at jeg fik chancen til at lave RC4000 maskinen.
Henning var en dygtig administrator og meget behagelig at arbejde for. Vores programmeringsgruppe bestod af Peter Kraft, Charles Simonyi, og mig selv. Peter var en erfaren programmør der havde lært sit fag under Gier Algol projektet. Charles var en langhåret teenager, afhoppet fra Ungarn, og begejstret for alt vestligt. Han tog siden til USA og arbejder nu for Xerox i Californien.
I en gammel hyggelig villa i Valby fastlagde jeg instruktionssættet for datamaskinen RC4000. Det blev en pæn uinspireret kopi af IBM 360. En ting adskiller dog stadig RC4000 fra andre maskiner: dens funktion var præcist beskrevet i programmeringssproget Algol 60 før den blev bygget. Det er vistnok den eneste maskine i verden der gør det muligt for brugeren at forudsige resultatet, bit for bit, af at dividere to unormaliserede flydende tal!
En af Isaksson's unge ingeniører Allan Giese blev inspireret heraf til at udvide Algol 60 så det kunne bruges til at beskrive RC4000's interne struktur (mikroprogrammerne).
Samtidigt udviklede Peter Kraft vort første proceskontrolprogram til en kemisk fabrik i Polen. Et par år senere videreførte Peter dette pionerarbejde og lavede (sammen med andre) RC4000-programmer til at overvåge elværkerne Vestkraft og Nordkraft.
Til vores gruppe kom også en studerende, Leif Svalgaard, der blev så optaget af at lave RC4000 programmer til Meteorologisk Institut, at han glemte at tage sin eksamen. Leif pralede gerne lidt. Han fortalte for eksempel at han havde en ny teori om solens og jordens magnetfelt. Det grinede vi lidt af. Sidenhen traf jeg Leif i USA. Han arbejder nu på Stanford universitetet og hans teori er verdensberømt.
Henning Isaksson så tidligt at vores nye datamaskine ville blive Gier's efterfølger, og at vi måtte tænke på at lave programmer til den. Men først skulle den jo have et navn. Jeg foreslog at kalde den RC4000 fordi »hvem ville købe en RC3 for en million kroner når man kan købe en RC3000 for meget mindre?« Så RC4000 blev det.
Jeg kom nu tilbage til Rialtobygningen for at lede systemprogrammeringsafdelingen. Bech's direktiv var ret forbløffende. Han sagde kun »Jeg har brug for noget nyt indenfor multiprogrammering!«
For mig at se var Niels Ivar Bech noget af en spiller og showman. Han kunne sjældent stå for fristelsen til at gøre det uventede. Jeg har været med til sammen med Bech og en kunde at forhandle om salget af en RC4000 midt i et larmende diskotek. Ukonventionelle handlinger fører måske sjældent til succes i forretningslivet (vi solgte ikke nogen maskine den aften), men de virker næsten hver gang indenfor forskning.
Forskning er hasard på højeste niveau. Den forsigtige indsats fører kun til uinteressante resultater. En forskningsleder må have næse for hvilket problem der skal angribes i næste omgang og have mod nok til at give sine medarbejdere frie hænder til at løse det uden snævre begrænsninger. Denne evne til at inspirere sine medarbejdere og lade dem skabe nye ting af verdensformat havde Niels Ivar Bech i enestående grad. Når man een gang har mødt en leder der har dette intellektuelle mod, er det dybt deprimerende sidenhen at måtte erkende at det er en overmåde sjælden egenskab.
Niels Ivar Bech var en drømmer i ordets mest skabende betydning. Hans tidsskala var længere end den jeg som ung, utålmodig ingeniør anlagde. Jeg fandt det urimeligt at han frigav Regnecentralens bedste kræfter til at lave datalogiske lærebøger uden tanke for hvordan det ville påvirke firmaets produkter. Det var kortsynet af mig. Samtidig med at Bech gav sine yngre medarbejdere en chance for at skabe nye ting, lod han Peter Naur, Christian Gram og Henning B. Hansen få mulighed for at skabe grundlaget for dansk undervisning i datalogi.
Det var ikke nemt for mig at skulle leve op til Gier-Algol traditionen (Edsger Dijkstra kaldte oversætteren et mesterværk). Bedre blev det ikke af at der øjeblikkelig opstod et konkurrenceforhold mellem Søren Lauesen og mig. Både Søren og jeg var »lovende« og ambitiøse, og intet værelse var stort nok til at rumme os begge. Men samarbejde skulle vi altså og prøve at stå mål med traditionerne.
I et så kreativt miljø talte kun personlig dygtighed. Desværre så det ud som om ingen af os havde nogensomhelst originale ideer om multiprogrammering. Tilsidst måtte jeg gå til Bech og sige »Vi er gået helt i stå. Hvad siger du til om jeg tar på kro en weekend med Jørn og Søren?« Min plan var at snakke intenst om problemerne i hyggelige omgivelser for at give os selv en sidste chance. Vi havde på forhånd aftalt at vi enten ville vende tilbage med nye ideer eller give op og nøjes med at kopiere det bedste vi kunne finde andetsteds. Bech slog øjeblikkelig til (det var nemlig en idé han selv havde brugt da Regnecentralens Cobolprojekt i sin tid var ved at gå i stå). Og det virkede! Tanken om at vende tilbage til Regnecentralen uden nye ideer var simpelthen uacceptabel for os.
Ud af den weekend kom de første spæde tanker til RC4000's monitor (det programmer, der udgør kærnen i operativsystemet). Fire år senere udgav det Amerikanske Akademi for De Tekniske Videnskaber en rapport om behovet for undervisning i operativsystembygning. Heri siges det at der i hele verden kun findes tre operativsystemer der er så simple og grundigt beskrevet at de kan bruges til undervisningsformål. Det første der nævnes er det der får RC4000 maskinen til at gøre mange ting samtidigt. Ridderslaget kom da Edsger Dijkstra udtrykte sin beundring for vores system.
Danmark har ydet fire bidrag af verdensformat til datateknikken: Peter Naur's Algol 60 rapport som Tony Hoare kalder en betydelig forbedring af alle dens efterfølgere, Gier-Algol oversætteren der aldrig er lavet bedre siden, verdens hurtigste strimmellæser RC 2000 (som Bech gav en medarbejder penge til at lave hjemme fordi hans afdelingsleder ikke troede på ideen), og sidst RC4000 monitoren der er blevet kopieret af andre datamaskinefirmaer.
I hvert tilfælde er der tale om radikalt nye ideer der var år forud for deres tid (og derfor ikke kunne motiveres med et øjeblikkeligt »behov«). Uden Niels Ivar Bech's geniale sans for nyskabelse kunne et dansk firma næppe have tiltrukket så mange fremragende unge dataloger og være førende indenfor programmeringsteknik i mere end ti år.
I 1970 forlod jeg Regnecentralen og rejste til USA. På det tidspunkt var Niels Ivar Bech allerede mærket af sygdom. Siden så jeg kun et flygtigt glimt af ham på en kongres i Jugoslavien. Der var en ting jeg gerne ville have fortalt ham. Jeg har forelæst ved næsten alle ledende universiteter og udviklingsafdelinger i USA. Kun to steder (Carnegie-Mellon University og Xerox Research Center) har jeg truffet programmeringsgrupper der kan måle sig med Regnecentralens.
Med Niels Ivar Bech's død mistede Danmark sin førende rolle i udviklingen af programmeringsteknik. Jeg har siden mødt de mest kreative dataloger og fremragende industriledere. Men intet andet menneske har heft dybere virkning på mit arbejde og gives det videre perspektiv end Niels Ivar.