Software, Internet

Sprogskaber ved et tilfælde

Behovet for at skabe en hammer, der kunne gøre det nemmere at skrive webapplikationer, fik dansk-canadieren Rasmus Lerdorf til at opfinde PHP, verdens mest succesfulde websprog. Det bruger han i dag i sit arbejde med at drive verdens største hjemmeside, Yahoo.

– For mig er det bare en hammer. Jeg er meget mere interesseret i, hvad der bliver bygget med det. Og hvis jeg skal fikse min hammer en lille smule for at bygge noget mere interessant, så gør jeg det, og det har jeg gjort i mange år.

Sådan lyder det beskedent og med en smule accent fra Rasmus Lerdorf, når snakken går på hans opfindelse, websproget PHP, der står bag et rasende stort antal websites. Rasmus Lerdorf er i starten af 40’erne, og han er i Danmark for at besøge den danske gren af familien.

Da han var 13 år gammel, rykkede forældrene teltpælene op og flyttede fra Frederiksværk til Canada. Det var ikke første gang, udlængslen greb familien Lerdorf. Rasmus kom til verden i Grønland, hvor moren var lærer, og faren ingeniør, der arbejdede med at måle ionosfæren for at få bedre radiotransmissioner.

Det gav pote at flytte til Canada. Fra at være en ringe fodboldspiller i skolegården i Frederiksværk var Rasmus en af de bedste boldbehandlere i skolen i Canada. Måske blev teenageren lidt for entusiastisk, for det endte med en knæskade og benet i slynge i tre uger.

En ven af faren lånte den unge mand en Timex Sinclair-computer, en amerikansk variant af ZX81, den første af 1980'ernes billige mini-computere, til at fordrive tiden med i sygesengen. Han lærte at programmere spil ud fra de eksempler, der fulgte med computeren, og en RAM-udvidelse på 16 kilobyte havde det med at falde ud af computeren, så den unge Rasmus Lerdorf fik lært at optimere sine programmer til den ene kilobyte, som var bygget ind i computeren. Det førte til købet af en Commodore 64, flagskibet blandt 80'ernes hobby-computere. Et modem gav vej til BBS'er, tidens elektroniske opslagstavler, og Rasmus Lerdorf skrev også sine egne BBS-programmer.

Det første solgte program

På high school var der en Unix-computer, som den unge mand kunne slås med. Det var en rigtig computer med multitasking og beskedudveksling mellem processer.

– Det var en super computer, men der var ikke noget software til den. En af de første ting, jeg gjorde, var at tage den BBS-kode, jeg havde skrevet. Unix havde multitasking, og man kunne sende beskeder frem og tilbage, så jeg skrev et BBS-system til denne her computer, som både virkede lokalt mellem skolens computere, men som også snakkede med andre skolers computere via modem, fortæller Rasmus Lerdorf.

Systemet blev købt af skolevæsenet i provinsen Ontario, og det var det første stykke software, Rasmus Lerdorf fik solgt. I 11. klasse dukkede datalogi op på skoleskemaet, men lærerne skulle oplæres i faget parallelt med elevundervisningen. Det endte med, at Rasmus Lerdorf fik opgaven at undervise skolens lærere i datalogi i sommerferien.

På universitetet valgte han en ingeniøruddannelse i systemdesign. Datalogi kunne han i forvejen, mente han.

– Det ville nok have været smartere, hvis jeg havde taget datalogi, griner han.

Efter universitetet fik han nok af det kolde klima i nord og stak efter en pludselig indskydelse af til Brasilien. Her blev det til en række år i et softwarefirma, hvis centrale produkt var et server-baseret tekstbehandlingsprogram til 'smarte' terminaler. Rasmus Lerdorf fik til opgave at sælge programmet i USA, med base i Silicon Valley. Men i USA dominerede pc'en, og amerikanerne kunne ikke se, hvad de skulle med terminaler. Samtidig blev world wide web opfundet i CERN's laboratorier i Europa. Rasmus Lerdorf kunne med det samme se, at der var tale om en teknologisk revolution, og hans råd til det brasilianske firma blev derefter:

– Vi smider det hele ud, alt hvad vi har lavet, og skifter hundrede procent til world wide web.

C-kode i serveren

Men i Brasilien var den teknologiske udvikling et par år efter USA, og tankerne faldt ikke i god jord. Så Rasmus Lerdorf forlod Silicon Valley og vendte næsen hjemad mod Toronto for at starte som internetkonsulent. Værktøjerne var sproget Perl og NSCA-webserveren, en forløber for Apache.

En bestemt opgave skulle vise sig at blive hjørnesten i PHP. Det var et modemsystem for Torontos universitet, med betalingssystem og administration. Det blev starten på PHP.

– Jeg tog den kode, jeg havde skrevet, og satte den sammen i et bibliotek. Dermed havde jeg et meget enkelt makrosprog, et skabelon-system, hvor jeg kunne sætte et par tags ind i HTML'en, som refererede til den kode, jeg havde skrevet. Jeg havde min NCSA-server med min egen C-kode sat ind og så et makrosystem, der læste en HTML-side og lavede kald ind i serveren, fortæller Rasmus Lerdorf.

Han havde kig på andre teknologier, men alternativerne kunne ikke snakke med databaser. Det var alfa og omega for de kunder, Rasmus Lerdorf betjente. Men han savnede logik i sit lille sprog. Microsofts Internet Explorer virkede ikke som Netscape, datidens dominerende browser, og det krævede if-else at løse.

– Jeg skulle ikke bruge et sprog, men det kunne være rart at have if-else, og så skulle jeg bruge variabler, hvor jeg kunne gemme ting, der kom ud af mine kald. Det kom langsomt, og det er en glidebane. Når man har if-else og variabler, hvorfor har man så ikke også løkker og switch case-sætninger? Langsomt begyndte det at blive mere som et sprog, og jeg havde ikke lyst til at lave et sprog – jeg aner ikke, hvordan man skriver et sprog. Det skete bare meget langsomt.

Bedre søgning er fremtiden

Rasmus Lerdorf fik henvendelser fra folk, der havde set koden i funktion på hans egen hjemmeside, og som ville høre om hans tricks. Det førte til udsendelsen af koden som open source. Snart væltede det ind med fejlrettelser og udvidelser til sproget. I dag er der 1.500, som aktivt arbejder på at udvikle sproget.

Efter at have arbejdet for blandt andet IBM startede Rasmus Lerdorf i 2002 i Yahoo, verdens mest besøgte website, som ønskede at flytte sitet over på PHP. Det projekt er afsluttet i dag. Der er ingen specielle tilretninger eller kneb – det er den samme kode, der afvikler Yahoo, som alle kan downloade fra nettet. Der benyttes en opcode-cache – et lager, der gemmer instruktionerne i hukommelsen, så siden ikke skal fortolkes igen og igen. Denne cache kommer med som standard i den kommende PHP 6. Efter at have løst Yahoos problemer flyttede Rasmus Lerdorf til Paypal-konkurrenten Wepay.

Han ser lyst på fremtiden for PHP. En vigtig ting er, at Microsoft 'har overgivet sig', som han udtrykker det, og arbejder aktivt på at skabe bedre integration mellem PHP og Windows-webserveren IIS.

På falderebet har Rasmus Lerdorf også nogle bud på teknologier, vi vil se i fremtiden. Realtidssøgning, som det kendes fra Twitter, og persontilrettede søgeresultater er nogle af dem. Kan PHP få en rolle at spille i den sammenhæng?
– Helt sikkert.