Denne uken er det 20 år siden Java-teknologien for første gang ble offentlig presentert. Det skjedde den 23. mai 1995 under SunWorld i San Francisco. Presentasjonen ble gjort av John Gage, direktør for vitenskapskontoret til Sun Microsystems.
Netscape
På scenen deltok også Marc Andreesen. Den gang var han 24 år og medgründer av Netscape. Han fortalte at Java skulle bygges inn i nettleseren Netscape Navigator. Den første nettleseren med støtte for Java-applets var likevel Suns egen HotJava, som også ble introdusert under det samme SunWorld-arrangementet i 1995.
Java-versjonen som ble presentert og offentlig utgitt for 20 år siden, var versjon 1.0a2. Den første stabile utgave, Java 1.0 eller egentlig JDK 1.0.2, kom første i januar 1996 til Solaris, Windows, Mac OS og Linux. Men utviklingen av Java startet lenge før dette.
Forbrukerelektronikk
Allerede rundt årsskiftet 1990/91 startet en liten gruppe Sun-ingeniører med å utforske selskapets muligheter for å tilby forbruker elektronikk. Prosjektet ble kalt for Green og var i stor grad isolert fra resten av Sun.
Blant de 13 deltakerne i prosjektet var James Gosling, som regnes som oppfinneren av Java.
Blant faktorene som var viktige å prioritere i forbrukerelektronikk den gangen, var pålitelighet, kostnader, standarder og enkelhet. Ingen kunder brydde seg om hva slags prosessor som satt i enheten. Derfor var det ønskelig for selskapet å kunne velge et nytt og billigere alternativ så snart det måtte komme.
Plattformnøytralt
Men Sun hadde også en idé om at produktene skulle være bakoverkompatibel og ha lang levetid, omtrent som en tv eller en brødrister. Dette fortalte Gosling til SunWorld-magasinet i juli 1995.
For oppnå en slik fleksibilitet, var det vesentlig å utvikle en mer plattformnøytral programvareplattform. Gosling forsøkte først å få til dette ved å utvide C++-kompilatoren, men innså etter hvert at C++ ikke strakk til. Resultatet ble i stedet at Oak-prosjektet ble unnfanget sommeren 1991.
Oak var det opprinnelige navnet på Java, men det ble senere endret fordi Sun ikke fikk registrert det som varemerke.
PDA-en Star7/*7
Allerede høsten 2002 kunne Green Project presentere prototypen av Star7, en PDA-lignende (Personal Digital Assistant) underholdningsenhet. På halvannet år hadde prosjektet utviklet blant annet Oak-språket, operativsystemet GreenOS og en ny maskinvareplattform med tre spesialtilpassede databrikker.
I videoen nedenfor forteller og demonstrerer Gosling PDA-en Star7. Dersom noen lurer på hvor Java-maskoten Duke først dukket opp, så se på skjermen til Star7 når enheten startes opp. Duke skulle fungere som en smart assistent for brukeren.
Green-teamet etablerte deretter selskapet FirstPerson som et heleid datterselskap av Sun for å fokusere på tv-bokser og interaktiv tv. Men kabelselskapene var ikke noe interessert i teknologien, så teamet ble innrullert i Sun igjen for å jobbe med online-tjenester, CD-ROM-er og desktop-plattformer. Men så kom weben.
Nettleser
Det førte til at ingeniørene Patrick Naughton og Jonathan Payne brukte Oak-språket til å lage nettleseren WebRunner, som senere ble døpt om til HotJava og presentert i 1995. Dette var den første nettleseren som støtte flyttbare objekter og dynamisk kjørbart innhold.
– Vi innså at vi kunne lage en skikkelig fin nettleser. Det var en av de få tingene i klient/server-mainstreamen som hadde behov for noen av de merkelige tingene vi hadde lagd: arkitekturnøytral, sanntids, pålitelig, sikker – ting som ikke var fryktelig viktig i arbeidsstasjonsverdenen. Så vi bygget en nettleser, sa Gosling til SunWorld-magasinet.
Nettleseren, som først og fremst var en demo, imponerte SunLabs-direktør Bert Sutherland og Sun teknologidirektør, Eric Schmidt – som i dag er styreformann i Google. Dermed hadde Java bevist sin nytteverdi.
Stor interesse
Allerede i 1996 ble utviklerkonferansen JavaOne arrangert for første gang, med mer enn 6000 deltakere. Interessen var stor. Sun kom dette året med en rekke Java-relaterte nyheter, blant annet nye programmeringsgrensesnitt, den første spesifikasjonen for JavaBeans og JavaOS.
JavaOS var et tynnklientsystem som ifølge Oracle primært var skrevet i Java. Det var beregnet for integrerte enheter og NC-er (Network Computer) og støttet fire ulike prosessorarkitektur, men interessen var begrenset. Virksomheten ble derfor lagt ned i 1999.
Les også: To harde slag mot tynne klienter og Java
I 1997 var det ifølge Oracle omtrent 400 000 Java-utviklere globalt. Allerede da hadde Java kommet opp på andre plass over de mest brukte programmeringsspråkene. JDK 1.1 (Java Development Kit) ble lastet ned mer enn 220 000 ganger i løpet av de første tre ukene etter utgivelsen.
JDK 1.1 inkludert blant annet databasestøtte (JDBC) og programmeringsgrensesnitt for JavaBeans.
Samme år kunngjorde Sun også planene om Java Foundation Classes og Enterprise JavaBean. Året etter kom blant annet Java Plug-in 1.0 og Personal Java 1.0.
Lisenshandel: IBM satser på Java
Formalisering
I 1998 ble dessuten Java Community Process etablert. Dette er den formelle prosessen for engasjement i definisjonen på framtidig versjoner og funksjonalitet i Java-plattformen.
Året etter kom Java 2-plattformen, som var delt opp i Standard Edition (J2SE) for pc-er og arbeidsstasjoner, Enterprise Edition (J2EE) for tunge serversystemer og Micro Edition (J2ME) for konsumentenheter. I 1999 kom blant annet også JavaServer Pages (JSP) og spesifikasjonen for Java Phone API.
Bakgrunn: Sun lar ECMA standardisere Java
Mobil
Fem år etter at Java var blitt presentert for første gang, kunne man finne teknologien overalt, både i smartkort, minibanker, på websider, mobiltelefoner, salgsautomater og kameraer. I 2000 ble det også klart at Java 2 Standard Edition skulle følge med Apples nye Mac OS X.
Det store løftet som Java kom med, «Write Once, Run Anywhere», ble også slukt med hud og hår av mobilprodusentene i de påfølgende årene.
Analyseselskapet Ovum skal ha estimert at det fantes 708 millioner mobiltelefoner med Java-støtte i juni 2005. Dessverre var det ikke slik at Java-baserte mobilspill- og applikasjoner uten videre kunne brukes på tvers av alle mobiltelefoner.
Bakgrunn: Java-problemer kan ødelegge for spill på mobiler
Åpen kildekode
I 2006 ble tre versjoner av Java utgitt av Sun som åpen kildekode for å øke bruken av plattformen. Samme år ble Java SE 6 utgitt. Det tok da nesten fem år før neste utgave skulle bli utgitt. I mellomtiden kom riktignok JavaFX, en nye familie med Java-teknologi-baserte produkter designet for å bygge rike, kryssplattform-applikasjoner og websider.
Les også: Oracle legger om Java-strategi
Oracle
I 2009 ble Sun Microsystems, og dermed Java, kjøpt av Oracle. Oppkjøpet var omstridt og førte til at mange sentrale personer i Sun forlot selskapet, inkludert James Gosling. I 2010 forlot blant annet Apache Java-komiteen i protest mot Oracles lisenshåndtering.
Omstridt er også Google bruk og implementering av Java i Android, noe som i 2010 førte til at Oracle saksøkte Google for patent- og copyright-krenkelser. Saken er ennå ikke ferdigbehandlet i det amerikanske rettssystemet.
Oracle og Google: Bringer Java-sak til høyesterett
Plugins
Det er viktig å innse at Java ikke bare er én ting. For mange er Java bare en plugin som man i alle fall tidligere måtte ha installert i nettleseren for å kunne bruke blant annet BankID. Denne delen var i flere år plaget med mange og alvorlige sikkerhetshull, noe som kraftig svekket omdømmet til både Java og Oracle.
Men Java er også et særdeles mye brukt programmeringsspråk og et sett med plattformer for å kjøre Java-applikasjonene på alt fra integrerte enheter til servere. Blant annet tilbys det 30 forskjellige Java EE-kompatible implementeringer fra 12 ulike leverandører.
Les også: Oracle byr på mer møkk
Framtiden
Blant de mange som gleder seg over jubileet til Java, er IBM.
– IBM feirer Java 20-års jubileum som en av de viktigste, bransjedrevne programmeringsplattformene for mobil-, klient- og enterprise-programvareplattformer, sier Harish Grama, visepresident for mellomvareprodukter i IBM Systems, i en pressemelding.
– IBM ser fram til de neste 20 årene med vekst og innovasjon i Java-økosystemet, inkludert mobil, nettsky, analyse og tingenes internett, sier Grama.
De nyeste Java-plattformene er Java SE 8 og Java ME 8, som kom våren 2014. Java EE 8 er først ventet i tredje kvartal av 2016.
I løpet av 2016 skal også Java SE 9 lanseres. Denne gang kommer forhåpentligvis den allerede kraftig forsinkede modulbaserte plattformen Project Jigsaw, i tillegg til Java Shell, et nytt HTTP-klient-API med støtte ror HTTP/2 og WebSockets, støtte for 64-bits ARM på Linux og en rekke andre oppdateringer og forbedringer.
Bakgrunn: Java 9 kan skape problemer