Internet, Software

Java var bare til pynt 

Det er ikke sproget i sig selv, der er vigtigt, fortæller Javas opfinder, James Gosling, men mekanikken i den virtuelle maskine nedenunder. Prosabladet mødte ham under et besøg i Danmark.

James Gosling, opfinderen af Java, er en stor bjørn med en vis selvagtelse. For ung til at have været en del af de glade tressere, men alligevel med en udtalt afslappet californisk attitude, på trods af, som han stolt fortæller, at han er canadier – ikke amerikaner. Han taler langsomt, som om han overvejer hvert eneste ord, da Prosabladet mødte ham på den seneste årlige aarhusianske JAOO-konference, som nu har skiftet navn til GOTO.

Mens nogle mener, at Java begynder at se lidt støvet ud, så er det alligevel grundlaget for den nye og populære Android-platform, som Google står bag. James Gosling synes bare ikke, at der er noget at råbe hurra for i den anledning. Han kan ikke se, hvordan Google skal kunne få investeringen igen.

– De er nødt til at have en model for at brænde penge af på den måde, og målet er måske at holde Microsoft og Apple stangen og suge penge op på indirekte vis. Ingen ved, hvordan det kommer til at gå, men det virker ikke stabilt, og noget må ske. Det føles som en stor slåskamp. Livet ville være så meget rarere, hvis de ikke alle sammen var sådan nogle røvhuller.

James Goslings pointe er, at de store giganter ville få mere ud af at samarbejde end at konkurrere med næverne oppe. Som udpræget teknolog har han ikke mange pæne ting at sige om den forretningsmæssige del af den amerikanske softwareindustri. Tidligere i år forlod han Sun efter Oracles opkøb, et firma, som han ellers har holdt fast i siden universitetstiden, og smækkede højlydt med døren i den anledning. Nu er han sin egen herre og hjælper blandt andet folkevognsfabrikkerne med at skabe computerstyrede racerbiler.

Java var ikke James Goslings første væsentlige bidrag til softwareverdenen. News, et grafisk framework, som byggede på Adobes printer-sprog Postscript, var en tidlig succes fra hans hænder. Apple genbrugte mange år senere ideen i OS X, med PDF i stedet for Postscript, under navnet Quartz. Men selvom News var en teknologisk nyskabelse, gik det på grund.

– Det handlede om konkurrence. Da Sun startede, var den første succes NFS (Network File System, red.), og mange brugte det. Ikke fordi de elskede det. Digital (DEC) hadede det, men kunderne forlangte det. DEC og IBM sagde: 'Vi vil ikke blive NFS'et igen'. De dannede en stærk forenet front. Sun var på en måde naiv. Sun blev stiftet af et bundt californiske blomsterbørn, der bare ville gøre hele verden glad. Konkurrence-tingen gik ikke ind på lystavlen, siger James Gosling.

Det ændrede hans ideer om, hvordan branchen fungerede.

– Det åbnede mine øjne. Det er ikke bare en række venlige mennesker. Folks motiver var næsten aldrig det, de sagde. På en måde var det deprimerende.

Microsoft-kamp gav Java til enterprise

I starten af 1990'erne gik James Gosling i gang med at finde på et nyt sprog, som skulle afløse C++ internt i Sun ved at kombinere landvindinger i en række andre moderne sprog. Det blev til Java, der i første omgang var tænkt en rolle i konsumelektronik såsom set-top-bokse til tv-apparater, men kom i stedet til at handle om internettet, hvor sprogets platformsuafhængighed passede til lejligheden. Java var udviklet med tanke på slutbrugeren og grafiske brugerflader, men det blev på serveren, at Java blev en kæmpe succes. Det var der mange årsager til.

– Microsoft havde en dominerende position på desktoppen. De kæmpede rigtigt hårdt. Vi endte i et stort juridisk slagsmål med dem. Vi havde tre retssager med dem og vandt dem alle, men det betød, at det låste en masse arbejde på desktoppen i fire-fem år, siger James Gosling.

Det havde dog også en positiv effekt.

– Vi havde kun en begrænset mængde penge, vi kunne bruge på udvikling, og det betød, at der kom mange flere penge på enterprise-siden i forhold til desktoppen. Personligt er jeg ikke så glad for det, for jeg kan godt lide desktopprogrammering, og Java er god til det – mange mennesker bruger det på den måde. Men det fik aldrig den grad af anvendelse, som det kunne have haft.

En af de egenskaber, der gjorde Java til en succes, var, at sproget gjorde det nemmere at skrive biblioteker. C++ havde tidligere gjort det overkommeligt at skrive grænseflader, API'er, til biblioteker, men en bestemt egenskab ved Java gav bedre muligheder for at skabe klassebiblioteker. Det er især det problem i C++, der kaldes den 'skrøbelige basis-klasse'. I Java er det først ved kørselstidspunktet, at det afgøres, hvilken funktion som skal udføres.

– Jeg havde skrevet nok kode i C++ til at kende problemet med den skrøbelige basisklasse. Hvis basisklassen ændres bare en lille smule, skal alle klassens klienter kompileres om. Det gjorde det næsten umuligt at bygge biblioteker, fordi biblioteket ikke kan udvikles sideløbende med applikationen. Jeg var helt besluttet på at ordne det problem.

Nogle stemmer i Java-miljøet mener, at det gamle sprog har set bedre dage, men James Gosling ser ikke nye sprog på Java-platformen, såsom Scala og Clojure, som unge rivaler.

– Næh. Hvorfor skulle jeg det? Det rører mig slet ikke. Alle de hårde interessante ting er i den virtuelle maskine. Sproget var en vinduesdekoration til de ting, som virkelig optog mig. Jeg prøvede at gøre C- og C++-programmører glade. Hvis jeg havde gjort usædvanlige ting, ville de være blevet underligt tilpas.

Han er selv begejstret for Scala, som nogle ser som en efterfølger til Java.

Fan af nul

Senest har Oracle lagt sag an mod Google for at overtræde Oracles rettigheder på Java. Det ser James Gosling som typisk for branchen.

– Folk i industrien har deres egne territoriale krige. Hver eneste spiller vil være universets herre. Så mere end én herre er ensbetydende med krig. Historien viser, at der kun er plads til én eller to regimer. Så jeg er vel fan af nul.