Det hele startede tilbage i 1990. En ung programmør ved navn Patrick Naughton var utilfreds med tingene tilstand hos Sun Microsystems. Han mente, at udviklingen var gået i stå i firmaet og truede med at forlade skuden til fordel for Steve Jobs\' nye firma NeXt, hvis der ikke skete en radikal fornyelse hos Sun. Direktør Scott McNealy bad den utilfredse programmør om at skrive et "memo" om, hvad der kunne gøres. Det gjorde Naughton. Det blev til en e-mail, der cirkulerede igennem alle afdelinger og -med James Goslings ord -udgjorde et "elektronisk primalskrig", der vækkede alle hos Sun.
McNealy nedsatte et lille team af programmører, som blandt andet bestod af Naughton og Gosling. De skulle ikke umiddelbart udvikle et nyt produkt, men snarere tænke 10 år frem i tiden og forsøge at skabe noget, der til den tid kunne lanceres som nyt og revolutionerende.
Projektet var yderst hemmeligt og fik kodenavnet "Green" -ifølge overleveringerne, fordi forskerholdet sad bag en grøn dør i deres kontor i Menlo Park i Silicon Valley. De unge programmører havde et rimeligt klart billede af, hvor teknologien ville bevægede sig hen det næste årti. Moores lov (en lov som forudsiger at processor-ydelsen kan fordobles hver attende måned. Blev fremsat af Gordon E. Moore i 1965, red.) ville snart betyde, at det ville blive muligt at indsætte chips, computerkraft og en form for kunstig intelligens i selv små elektroniske apparater. Og disse apparater ville man kunne integrere i et netværk. Det, man manglede, var altså en ny form for programmeringssprog, der kunne anvendes i et netværk -snarere end i stand-alone computere.
Den egentlige åbenbaring kom til Gosling under en koncert med musikgruppen Doobie Brothers. Han følte musikkens vibrationer gennem de opspændte stålwirer og fik den tanke, at det ville være en gennembrydende idé, hvis man på samme måde kunne sende programmer gennem et netværk, således at de kunne anvendes på flere forskellige platforme.
Gosling begyndte at skrive på et nyt programmeringssprog kaldet "Oak", fordi der tilfældigvis stod et egetræ udenfor hans kontor.
Den første tanke var at anvende det nye programmeringssprog inden for set-top bokse til tv og andre elektroniske apparater. Men omkring 1993-94 begyndte alle at tale om "the super information-highway" og "internettet".
"The mother of all networks"
Pludselig opstod "the mother of all networks" -internettet. Et globalt netværk, som skreg efter et nyt programmeringssprog.
- Vi samlede vores legetøj sammen og flyttede fra en sandkasse til den næste, husker Gosling og referer til internettets fremkomst.
I den nye sandkasse skulle programmeringssproget have et nyt navn. Valget stod mellem Silk eller Java. Den unge programmør, Kim Polese -senere kendt for udviklingen af den fejlslagne "Push-teknologi" -valgte Java.
Java blev første gang offentligt præsenteret ved the Technology, Entertainment and Design-konference i 1995. De godt 500 tilhørere var imponeret. Det ændrede helt deres opfattelse af, hvad webben kunne bruges til.
Skandinavisk indflydelse
De to forgængere for Java er Simula-67, der er udviklet i Norge, og C++, som er udviklet af danskeren Bjarne Stroustrup. Ser du denne skandinaviske indflydelse som væsentlig?
- Java er inspireret af en masse forskellige sprog, som jeg ublu har stjålet fra. Hvis du ser på de forskellige programmerings _features i Java, vil du kunne finde spor fra C++, fra Simula, Lisp, Smalltalk, Pascal og så videre. Der fandtes en masse gode ideer i forvejen, og dem har jeg bygget videre på.
Men Simula var faktisk en af de mere betydningsfulde. I min mørke fortid arbejdede jeg meget i Simula, og jeg har altid betragtet Simula som en slags "møntfod" inden for objektorienteret programmering.
- Er der forskel på, om et programmeringssprog er udviklet i det ene eller andet land -i Europa eller i USA?
- Der er interessante forskelle. Europæiske programmeringsideer har en tendens til at være mere akademiske og mere elegante -hvilket har både gode og dårlige sider. Amerikansk programmering har på den anden side en tendens til at være meget mere pragmatisk. Hvis du ser på Algol .... det var et meget smukt programmeringssprog, men stort set ubrugeligt. Trods dets renhed var det umuligt at implementere. Omvendt med C -det er et meget pragmatisk og tilgængeligt sprog. Det blev lavet af en gruppe mennesker, som først og fremmest ville have noget fra hånden. De arbejdede så også med maskiner, der havde 32 K i dem -så deres arbejde var
begrænset af den omstændighed.
"Jeg betragter selv Java som et rimeligt pragmatisk programmeringssprog. Det kan bruges til at få noget fra hånden med, om man så må sige."
- Altså mere tro mod den amerikanske tradition inden for programmeringssprog?
- Både og. En af de pudsige sider ved Java er, at dets enkelthed og renhed for en stor dels vedkommende stammer fra, at jeg har tilbragt en rimelig stor mængde tid i Japan. Disse ophold inspirerede mig til at ville lave noget, der var meget "rent". Der findes eksempelvis ikke fem forskellige måder at udføre den samme ting på i Java. For mig har et af målene med designet været at udforske, hvor tynd en manual, der kunne følge med et nyt programmeringssprog, idet jeg mente, at det sagde noget om et sprogs enkelthed. Og den oprindelige manual, der fulgte med Java, var kun på 80 sider. Og for de fleste programmører i dag er det alt, hvad de behøver at læse for at kunne anvende Java.
Der findes naturligvis mere avancerede manualer, men så skal man som regel op på et niveau, hvor kun få programmører opererer.
- Mener du, at det Java i dag udfører mere eller mindre er det samme, som da du skrev det?
- Ikke rigtigt. Det har vandret ind på alle mulige områder, som jeg ikke havde forudset. Men på den anden side ... jo, det kan udføre, hvad det var udtænkt til at gøre -nemlig at blive anvendt til meget generelle formål.
Oprindeligt var meningen med Java, at det skulle anvendes i set-top bokse til tv.
- Det var hele tiden meningen, at det skulle være et netværksbaseret programmeringssprog. Og så snart du opererer på et netværk, så render du hurtigt ind i alverdens problemer. Du skal arbejde på "back-end" servers, på forskellige platforme og så videre. På den måde udviklede det sig til at blive et temmelig universelt programmeringssprog, hvilket bevises af, at det i dag kan bruges i en lang række forskellige apparater, som eksempelvis mobiltelefoner og så videre.
Med hjertet på nettet
- Eftersom flere og flere apparater bliver tilsluttet netværket fra flere og flere geografiske steder, så får vi et allestedsnærværende internet. Hvad tror du, folk vil bruge dette allestedsnærværende netværk til?
- Det kan bruges til mange forskellige ting. Der findes eksempelvis et lille firma, som bygger Java ind i bærbare telefoner, som kan hookes op til en monitor. Det kan eksempelvis måle patienters blodsukker eller hjertelyd. Patienter kan således gå rundt med en mobiltelefon og via den vil deres hjerte være på internettet. Det hele bliver så downloaded ind i en database, og en læge kan kontant se, hvordan patienten har det. Og der kan udvikles software, der kan ringe en alarm eller sige: Jesus, den og den fyr er altså i store vanskeligheder netop nu. Og lægen kan se, hvor fyren befinder sig, ringe til ham og sige, at nu er blodsukkeret helt nede, og at han hellere må se at få købt sig en Cola.
- Men ser du nogen fornuft i, at man også vil tilkoble sin brødrister og kummefryser til dette allestedsnærværende internet?
- Det ved jeg ikke. Hvis der findes en forretningsmodel, der gør dette fornuftigt, så er det vel o.k. Nogle af disse ting er naturligvis trukket ud i deres yderste konsekvens, men hvorfor ikke?
- Jeg ved ikke, om du har set det, men der var nogle programmører fra Cambridge, som koblede deres brødrister til internettet. Derefter skrev de et program i Java, som gjorde, at når brødet var ristet, kom det ud og lignede dagens vejrudsigt. Det er måske lidt i den bizarre ende. Men der er helt klart en syg side af mig, som ... ja, kan lide den slags -fordi det er så underholdende. Jeg kan se for mig, hvordan United Airlines og Sheraton Hotel-kæden vil gå sammen om dette projekt og lave det, så en reklame for de to firmaer kommer ud på hver side af ens morgenbrød fra hotellets brødrister. Så måske er der en forretningsmodel i at tilkoble brødristere til internettet. Det er lidt skørt, men der findes andre ting, der er mindst ligeså skøre -og som har vist sig at være glimrende forretninger.
I Japan er mobiltelefoner med Java blevet virkelig populære. Og en af de applikationer, som du kan nedtage, er et virtuelt kæledyr. Dem skal man så give mad og lege med og så videre. Ellers dør de, sg\'u. Og når man tager på ferie til Hawaii -eller et andet sted, hvor ens telefon ikke virker -så risikerer man jo, at det virtuelle kæledyr er død, når man kommer hjem. Derfor findes der mennesker -tro det eller ej -som har lavet en forretning ud af at oprette virtuelle dyrepensionater, hvor man kan få passet sit virtuelle kæledyr, mens man er væk. De vil lege med det og give det mad også videre. Og når du kommer hjem, så vil du finde din virtuelle kæledyr i live -glad og mæt. Og det betaler man for med rigtige penge. Det er en forretningsmodel. Så, jeg mener ... det er skørt, men det virker.
Tror du ikke, at al dette vil få samme triste skæbne som med dot.com verdens mange skøre påfund -nemlig, at de vil forsvinde?
- Det tror jeg ikke. En af de ting vi alle lærte fra internet-manien var, at en forretningsmodel skal kunne fremvise et overskud. Det tal, der fremkommer på bundlinien, skal være større end nul. Det er alle klar over i dag.
Social ansvarlighed
- Al denne snak om, hvordan mennesker anvender teknologi på forskellig måde, får mig til at tænke på, at du engang har udtalt, at fremtidens sociale forandringer måske vil være vigtigere end de teknologiske forandringer. Hvad mener du med det?
- Jeg mener, at den øgede mulighed for konstant kommunikation ændrer ved hele den måde, hvorpå mennesker interagerer med hinanden. Det ændrer ved et lands politik -for eksempel den måde vi i dette land henvender os til borgere og organisationer på for at rejse penge til politiske kampagner. Og der findes eksempler på, at hele regeringer er blevet udskiftet på grund af konstant kommunikation. Den philipinske præsident Joseph Estrada, der var beskyldt for korruption, blev til en vis grad drevet fra magten ved hjælp af store demonstrationer, der blev mobiliseret gennem elektroniske "løbesedler" sendt fra mobiltelefon til mobiltelefon.
- Eller som det modkup, der blev afværget i Rusland for et årti siden, hvor den eneste grund til at modkuppet mislykkedes var, at borgerne kunne læse de udenlandske rapporter og nyhedsmedier via internettet og dermed var klar over, hvad der skete.
- Og der bliver hver dag dannet globale venskaber tværs over hele kloden. Den barnepige, der passer min datter, er fra El Salvador, og hun elsker at spille backgammon. Det kan hun gøre med mennesker fra hele verden via games.Yahoo.com."
- Mener du, at programmører og andre nørd-folk ofte overser de sociale konsekvenser ved de tekniske landevinder, som de skaber?
"Både og. Hvis du tager den gennemsnitlige bruger på SlashDot.com, så synes jeg, han eller hun giver udtryk for en rimelig social
forståelse. Men der findes også det modsatte -programmører, der måske sidder i en stor virksomhed med deres lille hjørne af et produkt og ikke spekulerer stort over, hvad det hele skal bruges til -eller hvilke sociale konsekvenser, det har.
- Er det et generationsspørgsmål?
- Det er svært at sige. Jeg har jo sådan mere eller mindre mine rødder i 60\'er-generationen med anti-krigsbevægelsen og så videre -og folk fra min generation har en virkelig stærk social indstilling til tingene. Så fulgte den såkaldte GenX_generation, som måske ikke var så social indstillet. Men den nuværende generation, synes jeg, har en udmærket sociale indsigt og forståelse for samfundet.
Fjenden Microsoft
- Da PROSAbladet interviewede Anders Heilsberg (i PROSAbladet marts 2002, red.), gav han udtryk for, at Microsoft med C# havde udviklet et objektorienteret programmeringssprog, som er fuldt på højde med Java. Hvad er din kommentar til det?
- Det har han jo ret i, for så vidt, at de blot har kopieret Java. De har stort set ikke bidraget med så meget som en eneste selvstændig eller original tanke i det nye sprog. Omvendt har de gjort et par ting, som jeg synes er virkelig dårlige. Det værste er den "unsafe operation", som findes i C#. Det er en bagdør, der tillader folk at fortage alle mulige ting. De har på en måde valgt den letteste løsning overfor en række virkelige indviklede problemer. Og det udsætter den enkelte programmør for ekstremt mange sikkerhedsproblemer.
- Omvendt er det som fungerer for rigtig mange mennesker i Java-verdenen det sikre miljø, som findes her, og hvor man ikke blot har valgt den letteste løsning.
- Tror du nogensinde, at der vil komme egentlige fredsforhandlinger i gang mellem Microsoft og it-industrien i Silicon Valley.
- NEJ! Microsoft vil dominere hele universet. De ser sig selv som den eneste virkelige ejer af folks computere. De kommer til Silicon Valley, de giver præsentationer, de taler til venturekapitalister og så videre. Men de fortæller i bogstaveligste forstand disse venturekapitalfirmaer, hvilke områder de må investere i. Og at det ikke er dem tilladt at investere i firmaer, der konkurrerer med Microsoft. Det er så latterligt. Den eneste måde, hvorpå Microsoft vil være tilfreds med Silicon Valley på, er, hvis det hele forsvandt. Microsoft mål er den totale, globale dominans. Det erkender de jo selv.
- Hvordan betragter du open source-bevægelsens chancer mod Microsofts imperium?
- Det er en hård kamp. Altså, jeg er en virkelig stor tilhænger af open source-ideen. Jeg mener, at der bliver skabt en masse gode ting i det miljø. Og jeg er en stor tilhænger af den darwinistiske udvælgelse, som foregår. Men Microsoft har en ufattelig mængde kapital. Og det gør det meget vanskeligt at vurdere, hvorvidt de laver noget som er succesfuldt. De vil dække en hvilken som helst fiasko med så mange penge, at den ikke længere vil være til at få øje på.
Alligevel tror jeg, at "open source" bevægelsen har en chance, fordi så mange mennesker er trætte af Microsofts prispolitik. Jeg var i Brasilien for et par uger siden, og der findes en masse Linux computere dernede, fordi man simpelthen ikke har råd til at købe Microsofts produkter.
- Når det er sagt, så ville det samtidig også være rart, hvis Linux-verden kunne fremstå på en lidt mere samlet og organiseret facon. Omvendt er anarkiet jo en del af hele ideen bag open source-bevægelsen, så jeg ved ikke....
Carpon Tunnel Syndrom
- Du har igennem en lang periode lidt af "museskader" i håndleddet -det såkaldte Carpon Tunnel Syndrom. Hvordan er du kommet til at arbejde igen?
- Lad mig først sige, at en masse mennesker, der tror, at de har Carpon Tunnel Syndrom, i virkeligheden fejler noget helt andet. Men hvis man har Carpon Tunnel Syndrom, så synes en operation at kunne gøre underværker.
Jeg har undergået operationer på begge mine hænder, og det ændrede hele mit liv, fordi jeg kunne arbejde igen på næsten normal måde. Jeg har stadigvæk problemer med ryg og skuldre og andre steder, men det kan jeg ordne på forskellig vis. Jeg går for eksempel regelmæssig til kiropraktor med min albue, slutter vicepræsident og Java-udvikler James Gosling.
James Goslings blå bog
James Gosling er vokset op i Calgary i Canada. Han var den ældste af tre børn. Hans mor var gymnasielærer, mens hans far jævnligt kastede sig ud i nye forretningseventyrer, hvilket gav James en udpræget afsmag for livet som iværksætter.
James udviklede hurtigt en interesse for at rode med teknik. Hans bedstefar havde en gård og på den var der en uendelig masse gammel ragelse, som stammede fra traktorer og andet landbrugsmaskineri, der ikke længere virkede. James\' store hobby var at sidde bag ved kostalden og forsøge at sætte noget sammen, der kunne virke.
James fremstillede det første apparat, som kunne minde om en computer, da han var 12 år. Det skete med uvillig assistance fra det lokale telefonselskab, Alberta i hvis skraldespande, James rodede efter udslidte omstillingsapparater og telefon-relæer.
Som ung mand boede James i nærheden af University of Galgary, hvor han kunne tænke sig at læse computer-videnskab. Da han første gang kom på universitet, noterede han sig, at alle de interessante laboratorier var aflåst og kun ved at indtaste en bestemt kode, kunne man komme ind. Det fik James til at stille sig op og i smug aflæse -og huske -de koder, som de ansatte brugte til at komme ind.
- Jeg blev temmelig godt til den sport, erkender James i dag.
Ved hjælp af de stjålne koder kom James hurtigt ind i de allerhelligste computer- haller, hvor ingen betvivlede hans ret til at være.
- Når man først var inde, så regnede folk med, at man sikkert havde ret til at være der, husker James.
Computer-afdelingen på University of Galgary var det rene slaraffenland for James, der som 15-årig fik et computerjob på universitet, hvor han skulle programmere en Digital Equipment PDP-8 minicomputer til brug for det canadiske satellit-program.
James Gosling fik sin uddannelse i Computer Science fra University of Calgary i 1977. Senere tog han en Ph.d. i Computer Science fra Carnegie-Mellon University i USA. Det var i 1983. Titlen på hans afgangseksamen var „The Algebraic Manipulation of Constraints".
James har gennem sin karriere arbejdet med satellit-data, fremstillet en multiprocessor version af Unix, adskillige "kompilere", mail-systemer og "window-managers". Han har også bygget en WYSIWYG text editor og desuden en "drawing editor" og en "text editor" ved navn `Emacs\' til Unix systemer.
Hos Sun var hans tidligere position at lede arbejdet med "the NeWS window system". James skrev desuden det originale design til Java programmeringssproget og implementerede den originale kompiler og "virtual machine". Han har fornyelig bidraget til the Real-Time Specification for Java.
James er i øjeblikket researcher på Sun Labs, hvor hans primære interesser er software-udviklings-værktøjer.
Privat er en af James\' store interesser madlavning. En opskrift på franske crêpes kan således findes på hans web-sted: java.sun.com/people/jag/