Of het nu voor of tegen is – technisch of bestuursmatig – elke automatiseerder heeft wel een mening over Java – of weet wel wat van deze aanstormende programmeertaal. Een technologie die ooit is begonnen als een aardigheidje voor bewegende poppetjes op websites van techneuten. Tegenwoordig houden bedrijven van faam zich serieus bezig met het implementeren van ‘serverside’ Java-applets. Een ontstaansgeschiedenis.
Eigenlijk is het vier jaar oude Java een product dat gebaseerd is op mislukking. Jawel, de oorsprong van de hele Java-technologie – met de bijbehorende hype – is ‘het falen van Sun Microsystems’. Tenminste, in december 1990.
De vijfentwintigjarige Patrick Naughton, sinds drie jaar software-ingenieur bij Sun, had toen zijn buik vol van de wirwar aan programmeer-interfaces (api’s) en platformen die zijn bedrijf probeerde te ondersteunen. Hij stapte met een ochtendhumeur naar ‘president’, tevens ijshockey-vriend, Scott McNealy en vertelde hem dat Sun een ingenieur ging kwijtraken aan computerfabrikant Next. McNealy reageerde opvallend berustend en vroeg Naughton om voor zijn vertrek een lijst te maken van alles wat hem niet beviel aan Sun. Sluw genoeg vroeg de ‘ceo’ daarbij ook een reeks oplossingen en suggesties. "Wat zou jij doen als je hier God was?", luidde de opdracht.
Frustraties
Naughton leefde zich uit. Zonder bedenkingen – hij ging toch weg – en zonder genade – ze konden hem toch niet meer ontslaan – schreef hij al zijn frustraties van zich af. Zo moest de software-architectuur NeWS die Sun ontwikkelde, geschrapt worden. NeWS (Network extensible Window System) was een systeem voor het weergeven van vensters op Sun-werkstations. Dit project was in 1985 opgezet en de technologie moest uiteindelijk het toen gebruikte venstersysteem SunView vervangen. De hele divisie die aan het nieuwe systeem werkte, de Window Systems Group, kon ook door het putje. Het was een technisch zooitje en voor het grootste deel onnodig, vond Naughton.
De ontevreden ingenieur e-mailde zijn waslijst (twaalf schermen vol tekst) aan McNealy en dacht dat daarmee de kous af was. Dergelijke berichten worden toch genegeerd door managers en Naughton maakte zich daar niet meer druk om; hij verliet de roestende tobbe. McNealy bleek echter niet te beantwoorden aan dit verwachtingspatroon. Het ‘magnum opus’ van Naughton werd stilletjes doorgestuurd naar een groot aantal van Suns directieleden en belangrijkste software-ingenieurs. De volgende dag werd de e-mailbox van de epistel-schrijver bedolven onder berichten van zijn collega’s. Velen waren het helemaal met hem eens. Hieronder bevonden zich mede-Sun-oprichter Bill Joy en NeWS-uitvinder James Gosling, sinds 1984 ontwikkelaar bij Sun en mentor van Naughton. Zij stookten het vuur nog wat op door de nu blootgelegde zwerende plekken onder de aandacht te brengen van nog meer managers.
‘Carte blanche’
Enkele dagen later stond Naughton op het punt naar Next te vertrekken. Ineens kwam McNealy met een tegenbod: Sun zou de top-ontwikkelaars van het bedrijf in een softwaregroep verenigen die mocht doen wat de programmeurs zelf wilden. Naughton kreeg ‘carte blanche’ voor het project, behalve financieel dan. Het enige doel was: maak iets dat ‘cool’ is. De achterliggende gedachte was het opzetten van een ‘denktank’ die moest uitvogelen wat de volgende ‘wave of computing’ zou zijn. Het team kreeg de naam Green en begon met drie software-ontwikkelaars; Patrick Naughton, James Gosling en Mike Sheridan.
Dit groepje zondert zich af van de Sun-organisatie, onder meer door in een apart gebouw te gaan zitten en de netwerkverbinding te ontkoppelen. Met een koelkast vol cola en chocoladerepen begonnen de techneuten te ‘brainstormen’. Zoals Sun-veteraan Gosling terugkijkend zegt: "We kwamen al gauw tot de conclusie dat tenminste één van die volgende golven zou bestaan uit het samengaan van digitale consumentenelektronica en computers." Aangezien de drie afkomstig waren van productgroepen, richtten ze zich meteen op mogelijke producten. "Bedrijfsmodellen en eindgebruikers waren net zo onbelangrijk voor ons als technologie. We hielden ons bezig met wat Bill Joy omschreef als ‘Hammer Technology’; neem bestaande dingen en hamer die bij elkaar. Leer terwijl je doet", beschrijft Gosling. De groep ging dus consumentenapparaten, zoals spelletjescomputers, opzetkastjes en afstandsbedieningen, demonteren en analyseren.
Typische Sun-stijl
In april 1991 verhuisde het Green-team naar een apart gebouw buiten het Sun-bedrijfsterrein en kreeg het versterking in de personen van Chris Warth, Craig Forrest en Ed Frank. Die laatstgenoemde ingenieur kwam met het idee van een palmcomputer met draadloze netwerkmogelijkheden, vanzelfsprekend gebaseerd op de Sparc-processor van Sun. Dit apparaat moest dienen als een soort universele afstandbediening voor consumentenapparaten. "Chips doken namelijk overal op, zelfs in de deursloten van hotelkamers. Maar toch had je nog drie verschillende afstandsbedieningen met elk een eigen interface nodig om je tv, video en stereo te kunnen bedienen", vertelt Gosling.
De oplossing voor dit probleem: een eenvoudige handcomputer die dient als universele afstandbediening. Dit apparaat kreeg de naam Star7 (of *7), vernoemd naar de telefooncode in het Green-kantoor waarmee je inkomende telefoongesprekken kon aannemen ongeacht voor welk toestel ze bedoeld waren. Star7 debuteerde in september 1992 als prototype. Inmiddels was de groep met nog eens negen mensen uitgebreid en probeerde het "in typische Sun-stijl", aldus Gosling, alles tegelijk te doen. De Star7 moest namelijk een eigen slanke Unix-variant krijgen. En netwerkprotocollen. En radio-mogelijkheden. En een efficiënt geheugenbeheer. En een nieuwe programmeertaal. Dat laatste element is eigenlijk het enige dat het nog ver heeft geschopt.
De Green-groep had namelijk een groot obstakel voor het samengaan van consumentenelektronica en computers ontdekt. Al die spelcomputers, videorecorders, televisietoestellen, laserdisk-spelers en stereotorens gebruikten verschillende processoren. Bovendien waren besturingssysteem en software ingebrand in de hardware, wat weinig flexibiliteit betekende. Het team zocht naar een manier om die verschillende systemen met elkaar te laten communiceren. De oplossing daarvoor moest een platformonafhankelijke, slanke, efficiënte object-georiënteerde ontwikkeltaal zijn. Klinken deze woorden bekend, misschien zelfs overbekend?
De belofte van Oak
Gosling, tegenwoordig alom in de IT-industrie bekend als de ‘vader van Java’, had een eigen lijstje met dingen die mis waren. Maar dan niet zozeer met Sun, als wel met de toen gangbare programmeertalen. De hardcore-techneut wilde een nieuwe ontwikkeltaal schrijven waaraan de vele tekortkomingen van de gebruikelijke talen zouden ontbreken. Vanuit dat ‘nerd-idealisme’ en de verwachte behoefte aan een kleine, universele taal ontstond ‘Oak’, simpelweg vernoemd naar de eik die bij het raam van Goslings kantoor stond. Deze taal was losjes gebaseerd op C++, maar dan uitgekleed tot op het bot om te kunnen draaien in de beperkte geheugenruimte van consumentenapparaten en palmcomputers. Bovendien zou het hierdoor voor programmeurs eenvoudiger moeten worden om nieuwe en verwisselbare hardware te ondersteunen. Fabrikanten van consumentenelektronica laten de ene chip namelijk zo vallen voor de andere als die een paar grijpstuivers goedkoper is.
Sun besloot op dit punt om het Green-team onder te brengen in een aparte dochteronderneming, genaamd First Person. Dit nieuwe bedrijf had weliswaar interessante concepten, maar nog geen idee wat daarmee te doen. Uiteindelijk werd besloten te beginnen met het betreden van de markt voor interactieve televisie. Die consumententoepassing zou het binnen enkele jaren helemaal maken. Tenminste, dat was de verwachting in 1992. Een grote overeenkomst met mediagigant Time-Warner viel op het laatste moment in het water, doordat werkstation-concurrent Silicon Graphics (SGI) bereid was meer te bieden voor minder. Ook een potentieel contract met 3DO, fabrikant van spelcomputers annex opzetkastjes voor interactieve televisie, stierf een voortijdige dood. De ‘president’ van dat bedrijf eiste exclusieve gebruiksrechten op de onderliggende technologie en wou die zelfs wel kopen. Sun-president McNealy weigerde dat botweg. Ook gesprekken met Mitsubishi Electric en France Telecom stokten. Het consumentenelektronica-initiatief van Sun leek gedoemd te falen.
Geboorte van het Web
Dit noodlot kreeg in 1993 ineens een andere wending toen het National Center for Supercomputing Applications (NCSA) een nieuw soort applicatie introduceerde; de webbrowser Mosaic. Het World Wide Web was geboren, een netwerk dat systemen met allemaal verschillende processoren, besturingssystemen en software met elkaar moest verbinden. Klinkt bekend? De ontwikkelaars van Suns dochter First Person staken de hoofden bij elkaar en besloten hun beperkte middelen geheel te concentreren op een softwaresysteem voor multimedia op het web. Dat was dus Oak.
Bill Joy ging nog een stap verder en herdoopte Oak tot een besturingssysteem-op-basis-van-een-programmeertaal. Daarbij waren Joy en Naughton het eens dat zowel het product als de broncode gedeeld moest worden met andere ontwikkelaars op internet. Hierbij moesten eventuele afgeleide producten wel voldoen aan compatibiliteitstesten. De vraag hoe Sun hiermee geld zou gaan verdienen, bleef onbeantwoord. Toenmalig technologie-directeur Eric Schmidt bekent die vraag toen te hebben ontweken; "Ik had geen antwoord, dus verzon ik iets." Sun verloor zelfs geld op de lage licentiekosten. Dit alles om de taal zo breed mogelijk in gebruik te krijgen. Oak muteerde dan ook van een apparaat-onderdeel in het hoofdproduct van het voormalige Green-team. Vervolgens maakte de Nederlandse programmeur Arthur van Hoff een compiler voor Oak, die programma’s kon uitvoeren die in die taal waren geschreven. Overigens was die compiler geheel in Oak zelf geschreven en niet in het toen gebruikelijke C. Patrick Naughton en Jonathan Payne ontwikkelden een browser met de naam Webrunner die Oak-programmaatjes kon draaien.
Fundamentele bouwstenen
Moedermaatschappij Sun gaf haar fiat aan het weggeven van Oak, mits de taal een andere naam kreeg. Er bestond namelijk al een Oak-product, dus dat zou problemen geven. Sun overwoog als namen Neon, Lyric, Pepper en Silk, maar koos uiteindelijk voor de koffie-variant Java (waarschijnlijk kwam iemand op deze naam tijdens het verblijf in een nabijgelegen koffieshop). De Webrunner-browser werd ook nog eens hernoemd, wederom vanwege merknaamconflicten, naar Hot Java. Vervolgens besloot het toen nog jonge, maar machtige Netscape Java te ondersteunen in zijn marktdominante browser. Java werd in die begintijd gepersonifieerd door Duke, het driehoekige mannetje-met-rode-neus. Dit figuurtje was ook een bijproduct van de Star7; Duke fungeerde namelijk als de ‘agent’ en help-functie in de gebruikersinterface van die handcomputer.
Al gauw was Java een fundamentele bouwsteen voor het verfraaien van websites met beeld en geluid. Deze positionering van de nieuwe programmeertaal bleek echter te succesvol. Een handicap waar Java nog steeds mee worstelt, is het imago. De taal werd lange tijd alleen gezien als middel voor het ‘opleuken’ van websites. Inmiddels begint het tij, in ieder geval bij softwarefabrikanten, wat te keren. De technologie komt nu zo’n beetje uit bij het beeld dat Bill Joy lange tijd geleden al in zijn hoofd had: een universeel, hardware-onafhankelijk platform dat op grote schaal wordt toegepast. Het verschil met voorgaande technologieën zit ‘m in de netwerk-structuur van het object-georiënteerde Java. Programmaatjes (applets) hoeven niet reeds geïnstalleerd te zijn, gebruikers krijgen de ‘applet’ pas bij gebruik. Dat biedt onder meer nieuwe mogelijkheden voor toegang tot oudere systemen (met bijvoorbeeld databanken) die daardoor in leven kunnen blijven. De platformonafhankelijke aard van Java komt daar pas echt tot z’n recht. De PC-markt draait toch voor 80 tot 90 procent op Windows. Even beloofde het concept van de netwerkcomputer deze verhouding te verbreken, maar dat lijkt nu weer van de baan. Zware bedrijfssystemen bestaan echter nog steeds uit diverse Unix-‘smaken’, mainframe-soorten en minicomputer-varianten.
Koffie in de groei
Deze volwassenwording van Java (lees: doorbraak in zware systemen) zet door met de komst van aanvullende technologieën als ‘servlets’ (applets voor serversoftware), de Javabeans (kant-en-klare-programma-componenten), de zakelijk gerichte Enterprise Javabeans (EJB) en de onderliggende Java Foundation Classes. Al deze toevoegingen bevinden zich echter nog in verschillende stadia van hun ontwikkeling. De specificatie voor EJB 2.0 is bijvoorbeeld nog in wording en moet de verschillen tussen de implementaties van diverse gretig-ontwikkelende bedrijven gladstrijken. De diverse leveranciers van EJB-technologie wijken met hun producten op dit moment nog van elkaar af. Zo ontwerpen zij eigen extensies om de beperkingen te omzeilen die de technologie nu (nog) heeft. Gebruikers moeten dus weloverwogen hun leverancier kiezen. Naar verwachting zal dit over twaalf maanden verleden tijd zijn. Volgens analisten volgt dan de volgende grote golf van Java-gebruik.
Inmiddels is Java bijna ‘de facto’ een standaard. Beheerder Sun wil echter vervuiling en compatibiliteitsschisma’s voorkomen en streeft officiële standaardisering na. De Java-specificatie die het bedrijf indiende bij de International Standards Organisation (ISO), stuitte echter op ‘voor Sun onoverkomelijke’ hordes die de fabrikant wijt aan lobby-werk van zijn concurrenten Microsoft en Hewlett-Packard. Sun heeft Java nu teruggetrokken uit het ISO-goedkeuringsproces en ingediend bij de European Computer Manufacturers Association (ECMA) voor verheffing tot officiële (Europese) standaard. Uiteindelijk leidt deze route toch weer naar de ISO, maar Sun hoopt voordeel te halen uit de ‘achterdeur’ die de ECMA bij die internationale organisatie heeft.
Jasper Bakker, redacteur
Java klaar voor gebruik
De vraag is niet meer "Is Java-technologie geschikt voor het bedrijfsleven?" "Dat is het nu namelijk al", zegt Daryl Plummer, analist en directeur bij onderzoeksbureau Gartner Group.
"De vraag is of het bedrijfsleven klaar is voor Java." Hij voorspelt dat het ‘zware’ gebruik van de Sun-technologie de komende jaren pas echt zal toenemen. "Bijna elke grote softwareleverancier heeft Java al opgenomen in zijn producten en oplossingen. Of dat nu databanken, middleware, applicaties, serversoftware of ontwikkelraamwerken zijn."
Het onderzoeksbureau onderstreept deze gunstige kijk met een reeks voorspellingen. "Tegen 2002 zal 90 procent van alle desktop-PC’s in de Verenigde Staten een Java Virtual Machine bevatten en daardoor applets kunnen draaien. Daarnaast verschuift het Java-gebruik echter van gebruikersapplicaties naar meer bedrijfskritische toepassingen op servers. Plummer stelt dat Java de komende drie jaar vooral een thuis zal vinden in de middenlaag tussen client-applicaties en data-systemen, dus bijvoorbeeld in applicatieserversoftware en de ontwikkeling daarvan. "Tot eind 2001 blijven pure Java-applicaties beperkt in hun ondersteuning voor gegevenstransactie van zware systemen. Java zal echter wel kritische ondersteuning leveren voor meer dan 60 procent van de gebruikte applicaties."
In 2004 bereikt de Sun-technologie, dankzij de verwachte voortgang van Enterprise JavaBeans, pas echt volwassenheid, aldus Gartner. "Meer dan 60 procent van het Amerikaanse bedrijfsleven gebruikt Java dan voor het ontwikkelen van zijn bedrijfskritische toepassingen. Java neemt hier nu het snelste toe, maar Europese Java-projecten hebben over het algemeen wel een serieuzer karakter", aldus Plummer. Hij voegt daar aan toe dat Microsoft een rol blijft spelen wat betreft ontwikkelsoftware, of dat nu C++ of Visual Basic is. Die twee talen zullen namelijk ook over vijf jaar nog schitteren aan het programmeerfirmament. Java zal echter het helderst stralen.
Instemmend koor
Andere marktanalisten delen het positieve oordeel van Gartner over Java. Zo voorspelt IDC dat het aantal Java-ontwikkelaars in 2003 vier miljoen zal bedragen, wat neerkomt op een jaarlijkse toename van 43 procent. Dat overstijgt de groei van het aantal ontwikkelaars voor C en C++ bij elkaar. Java wist van 1996 tot 1998 al te groeien van ruim 82.000 naar 727.000 ontwikkelaars. "De technologie voor het bouwen en gebruiken van applicaties die vanuit het bedrijf via internet naar partners, leveranciers en klanten gaat, zal een zeer sterke Java-component hebben", zegt IDC-analist Steve Garone. Hij voorziet echter niet een universeel doordringen van de technologie, maar wel een forse toename voor de komende drie jaar in de marktacceptatie.
Ook onderzoeksbureau Forrester Research meent dat Java op het punt staat de status van volwassenheid te bereiken en als dusdanig erkend te worden. "Bijna tachtig procent van de bedrijven in de Fortune top-1000 gebruikte vorig jaar Java voor ‘enterprise-klasse’ applicaties. Dat ligt volgend jaar op honderd procent", meent onderzoeker Josh Walker van Forrester. Het gebruik van Java varieert van het bewaren van oude systemen (bijvoorbeeld door het ‘inpakken’ van Cobol in Java) tot het geheel in Java opnieuw aanleggen van bedrijfssystemen.
Java-chronologie (1991 – 1995)
Het ‘brouwen’ van Java door de ogen van Patrick Naughton.
December 1990
De 25-jarige Naughton slaat een baan bij Next toch af en begint bij Sun Microsystems aan wat later het Green-project zou heten.
Januari 1991
Eerste ‘brainstorm’-bijeenkomst van de nieuwe ontwikkelgroep met Bill Joy, Andy Bechtolsheim, Wayne Rosing, Mike Sheridan, James Gosling en Patrick Naughton.
Februari 1991
Het werk begint; Gosling concentreert zich op programmeertalen, Naughton op grafische weergavesystemen en Sheridan op de zakelijke toepassingsmogelijkheden van het project.
April 1991
Verhuizing naar een kantoor buiten het Sun-terrein, inclusief de moedwillige verbreking van de lan-verbinding. De naam Green wordt gekozen.
Mei 1991
Het hardware-prototype waar het Green-team aan werkt, krijgt de naam Star7 (*7). Dit is een verwijzing naar de telefooncode om inkomende gesprekken voor het hele Green-kantoor aan te nemen.
Juni 1991
Gosling begint serieus aan de ontwikkeling van programmeertaal Oak, die later Java zal heten.
Augustus 1991
Het team geeft Sun-mede-oprichters Scott McNealy en Bill Joy een demonstratie van hun interface-ideeën en het bijbehorende grafische systeem.
November 1991
De netwerkverbinding (en daarmee het voornaamste communicatiemiddel) met Sun wordt hersteld.
Mei-augustus 1992
De groep verricht bergen programmeer- en ontwikkelwerk aan Oak, het Green OS, de gebruikersinterface en de Star7-hardware.
September 1992
Het prototype van de ‘universele afstandbediening’ Star7 is gereed. McNealy en Joy krijgen een demonstratie.
November 1992
Het Green-project wordt ondergebracht in een nieuwe, aparte dochteronderneming genaamd First Person.
Januari 1993
De groep verhuist naar een relatief afgelegen locatie in Palo Alto.
Maart 1993
De bestemming voor Green is gevonden: interactieve televisie. Time-Warner wil aan een groot proefproject beginnen waarvoor Sun de systemen wel wil leveren.
April 1993
Het National Center for Supercomputing Applications brengt ’s werelds eerste grafische browser voor internet uit; Mosaic 1.0.
Juni 1993
Time-Warner gaat toch in zee met computerfabrikant Silicon Graphics (SGI) voor de interactieve tv-proef.
Juni-juli 1993
Naughton vliegt de hele Verenigde Staten af om Oak te slijten aan bedrijven die bezig zijn met consumentenelektronica en interactieve televisie. Het aantal mensen dat het ‘world wide web’ gebruikt stijgt exponentieel.
Augustus 1993
Na maanden van onderhandelingen wordt de potentiële overeenkomst met 3DO afgekapt. Sun wilde Oak als besturingssysteem leveren voor 3DO’s spelcomputer annex tv-opzetkastje, maar dat bedrijf eiste exclusief gebruik van Oak.
September 1993
De Nederlandse programmeur Arthur van Hoff voegt zich bij het Green-team en houdt zich uiteindelijk bezig met het bijschaven van de programmeertaal (annex platform-in-wording) Oak.
December 1993
Uit een operationeel onderzoek door Sun naar First Person blijkt de dochter geen partners of marketing-strategie te hebben, terwijl de lanceerdatum nadert.
Februari 1994
First Person gooit het roer om en geeft Oak de bestemming ‘online multimedia’, wat ook CD-Rom omvat. De Sun-top reageert met gemengde gevoelens; dit soort ‘PC-toepassinkjes’ levert geen extra verkoop op van Sun-werkstations en servers, de hoofdproducten van het bedrijf.
April 1994
Sun roept de Interactive-divisie in het leven en heft First Person op. De helft van het personeel stapt over naar de nieuwe consumententak.
Juni 1994
Bill Joy start het ‘Live Oak’-project waarmee hij een klein besturingssysteem op basis van Oak wil ontwikkelen voor gebruik op grote schaal. De kiem voor Jini is geplant.
Juli 1994
Naughton beperkt de schaal van Live Oak met een heroriëntatie op ‘alleen’ internet-toepassing.
Oktober 1994
Naughton verlaat Sun en gaat naar software-ontwikkelaar Starwave.
November 1994
Oak wordt hernoemd naar Java. Van Hoff schrijft een compiler voor die taal geheel in Java. Gosling had eerder al een compiler gemaakt in C. De taal komt onder de nieuwe Javasoft-divisie te vallen.
Mei 1995
Sun onthult Java op de Sunworld-conferentie. Netscape-president Marc Andreessen kondigt daar aan dat de (marktdominante) webbrowser van zijn bedrijf de nieuwe technologie zal ondersteunen.