21 år sedan Java började utvecklas

  • PUSHA

Igår fyllde Java 21 år. Det som till en början var menat som en ersättare till C++, förvandlades sedan till ett eget programmeringsspråk som var tänkt att användas för att bygga tajt kod för inbäddade datorer i allt från trafikljus till kylskåp. Men sen kom Internet…

Läs historien om Oak, programmeringsprojektet som sedan döptes om till Java och som för en tid var ett allvarligt hot mot Microsofts grepp om datormarknaden.

 

Ett mail till Scott McNealy

Året var 1990. Månaden var December och en utvecklare på Sun Microsystems, Patrick Naughton, var frustrerad över Sun’s egna C++, API:er och verktyg. Med ena foten utanför dörren och ett jobb som väntade på NeXT (Steve Jobs företag som startades efter att han lämnat Apple) uppmärksammade dåvarande VD:n på Sun, Scott McNealy, den frustrerade programmeraren och bad honom summera vad Sun Microsystems gjorde fel. Att McNealy, som var och är galen i ishockey, spelade i samma amatörlag som Naughton, gjorde givetvis inte läget sämre för den senare då de kände varandra privat. Naughton skrev ett tolv sidor långt mail till McNealy och resten av ledningen där han i skarpa ordalag förklarade vad NeXT gjorde rätt, och vad Sun Microsystems gjorde fel.

Hans mail innehöll förslag som att fräscha upp Sun:s trötta grafiska gränssnitt, fokusera på ett enda utvecklingsverktyg, fokusera på en enda fönsterhanterare i Solaris, och mycket mer. McNealy skickade mailet vidare till samtliga chefer på Sun Microsystems och inom ett dygn hade Naughton fått hundratals svar från anställda inom företaget. En av tungviktarna på bolaget, James Gosling, gav Naughton rätt och skrev ärligt i ett mail att “någonstans på vägen har företaget tappat känslan för hur vi skapar en högkvalitativ produkt”.  Naughton kallades till ett möte med flera högt uppsatta chefer på bolaget där bland andra legenden Bill Joy och Andy Bechtolshiem, båda grundare av Sun Microsystems tillsammans med Scott McNealy, deltog mötet utvecklades till en ärlig, men givande maratondiskussion som höll på till halv fem på morgonen och efter det mötet fick Naughton fria händer att tillsammans med James Gosling och Mike Sheridan skapa “något”.
 

Project Stealth

Teamet fick fria händer och en miljon dollar att sätta sprätt på första året och placerade sig därefter i ett kontor långt från Sun:s huvudkontor för att på så sätt få arbetsro och samtidigt se till att de åtskilliga mellanchefer som under den tiden ofta dödade innovativa ideér på Sun Microsystems inget visste. Projektet döptes initialt till Project Stealth, och senare till Green och målet med projektet var inte helt självklart. Det var en lösning som sökte efter ett problem. “Hade vi suttit kvar i Sun:s lokaler hade vi tagit fram ännu en arbetsstation”, berättade Mike Sheridan i en intervju med Wired i December 1995.

Gosling, Naughton och Sheridan fick snart sällskap av ytterligare ett par utvecklare och tillsammans ägnade de sig till en början inte åt att programmera, utan istället diskuterade de olika ideér på vad nästa stora grej skulle bli. Resor gjordes till semesteranläggningar, det dracks öl och fler idéer diskuterades och förkastades.

Det ursprungliga Java-teamet firar en av Javas födelsedagar. Bild: Sun Microsystems.

Sun Microsystems hade under flera år varit ett direkt krig med Microsoft, som vuxit enormt mycket med Windows både på klient- och serversidan. Sun:s VD Scott McNealy hade gjort sig känd för spydiga kommentarer och fyndiga ordvitsar om Microsofts produkter (“Windows NT?  Not Today, Not Tomorrow…“) som ofta var försenade och sällan fungerade till 100 procent när de väl släpptes. Men ett frontalkrig mot Microsoft var inget alternativ för Sun – de hade inte resurserna, och deras marknad låg inte i att förse billiga PC-maskiner med ett operativsystem utan istället att sälja en kombination av hård- och mjukvara där båda två hade saftiga prislappar.
 

Oak

En idé växte fram om att kanske skulle datorn tas bort från ekvationen, kanske var det inte arbetsstationer och servrar som skulle vara utgångspunkten utan istället vanliga konsumentprodukter som videoapparater, brödrostar, kylskåp, TV-apparater och så vidare som var framtidens plattform? Idén fortsatte växa – tänk om alla dessa apparater kunde göras enklare att använda, kanske kunde de kommunicera med varandra, och kanske skulle det räcka med en fjärrkontroll för att göra allt från att höja volymen i stereon till att höja temperaturen i ett rum?

Nu började teamet på allvar att undersöka idén. De ägnade timmar åt att spela TV-spel, undersöka gränssnitt i video-apparater och titta på fjärrkontroller och till sist insåg de att de hade en idé värd att utveckla: att skapa en utvecklingsplattform som kunde köras på små inbyggda enheter, allt från din TV-apparat till din värmepump till din brödrost, som kunde prata med varandra och på så sätt bygga små integrerade nätverk i hemmet.

"Duke". Den officiella Java-maskoten. Bild: Sun Microsystems.

Men för att utveckla för små enheter, som ofta var begränsade i både mängden minne och processorkraft, krävdes ett nytt programmeringsspråk. C++ var då i princip en standard för programmerare men James Gosling menade att C++ varken var stabilt nog eller tajt nog när det gällde minnesanvändning. Gosling menade att C++ visserligen var snabbt men den typen av prestanda var inte primärt när man pratade om små inbyggda datorer i vardagsföremål i hemmet.

Detta ledde Gosling och resten av teamet till att fundera på en ny utvecklingsplattform. Gosling, som skrev sitt första programmeringsspråk vid 14 års ålder, behövde tillsammans med resten av teamet några få månader på sig att ta fram ett hjälpligt användbart programmeringsspråk som Gosling döpte till “Oak” efter en ek som stod utanför hans kontorsfönster. Oak var fortfarande en uppvisning i programmering, men det fanns ingen hårdvara att utveckla för varför de byggde en själv genom att bland annat ta högtalare från en packe Nintendo Game Boys, en pekskärm och som kronan på verket ett antal egenutvecklade kretsar och ett egenutvecklat moderkort stuvades sedan in i en liten låda.
 

Demo

I Augusti 1992 var det dags för en första demonstration för Sun:s VD Scott McNealy. Ett grafiskt gränssnitt hade designats och när den hemmahackade maskinen aktiverades genom att röra vid skärmen visades det grafiska gränssnittet tecknade bilder som representerade olika rum i ett hus som Duke, en figur som senare skulle bli Javas officiella maskot, guidade anvädaren genom Med hjälp av ett enda finger styrde man sedan vad man ville göra, exempelvis att slå på en film i din video eller ta fram programtablån över kvällens tv-program, välja ett program och sedan dra det till TV:n som då skulle visa programmet. Den hemmahackade maskinen hade inga knappar, ingen mus, ingen stylus att peka på skärmen med. Det fanns inga menyer i det grafiska gränssnittet utan allt styrdes med ett enda finger.

Scott McNealy blev närmast hysteriskt glad och såg framför sig hur han skulle kunna “slå ihjäl” Microsoft, HP, IBM och andra konkurrenter.

Oak var dock så mycket mer än bara ett snyggt gränssnitt. Det var en objektorienterad utvecklingsplattform, designad för att bygga små nätverk mellan olika enheter som på ett säkert och smidigt sätt kunde kommunicera med varandra. Köpte du en brödrost som stödde Oak och ville fjärrstyra den med din Oak-fjärrkontroll? Koppla in brödrosten och per automatik dyker brödrosten upp i fjärrkontrollen som ännu en enhet att styra.  Utvecklarna av Oak insåg nog inte först vad de hade utvecklat, men ganska snart insåg de att deras plattform kunde användas i bilar, telefoner, och i princip vad som helst.

 

Hårdvaruprototyp för att demonstrera Java. Bild: Oracle.

Sun Microsystems bildade dotterbolaget FirstPerson Inc, med uppdraget att få ut Oak i konsumentprodukter. Diskussioner fördes bland annat med Mitsubishi Electric och France Telecom, där Mitsubishi funderade på att använda gränssnittet i telefoner, tv-apparater och andra produkter, medan France Telecom letade efter ett sätt att uppdatera sitt då ganska föråldrade Minitel-system, som för övrigt var en (betydligt populärare) föregångare  till Televerkets jättefiasko Teleguide. Båda företagen visade sig senare inte vara så värst intresserade och när Sun började räkna på vad kretsar, bildskärm, minne och andra komponenter egentligen kostade så landade det på runt 50 dollar, vilket var 80-90 procent mer än vad tillverkare av hemelektronik brukade betala.

James Gosling, en av världens bästa programmerare.

Under en period försökte Sun få in Oak som en del i hypen runt interaktiv TV som testades på flera platser i USA, men den affären vann istället Silicon Graphics som fick uppdraget att leverera en tv-mottagare med lite inbyggda datorliknande funktioner. Mottagaren blev givetvis svindyr och någon succé blev det aldrig. Oak var också nära att bli en del av tv-spelskonsolen 3DO, en avancerad men väldigt dyr konkurrent till Nintendo och Sega som hade haft det lite motigt på marknaden. 3DO krävde ensamrätt till Oak vilket Sun Microsystems sade nej till, och med facit i hand var det nog tur för Java att det blev just så då 3DO gick i konkurs så det bara visslade om det kort efteråt.
 

Internetrevolutionen

Ungefär samtidigt hade Internet börjat slå igenom på allvar ute i stugorna. 1993 hade Marc Andreessen och Eric Bina
utvecklat en webbläsare vid namn Mosaic medan de var anställda på NCSA på universitet i Illionis. Mosaic blev allt mer populärare och Andreeseen tog med sig idén och bildade Netscape och fick Jim Clark som investerare och VD, samme Clark som startade och drev Silicon Graphics. Webben blev het som över en natt och ändå tog det tre månader för Eric Schmidt, då teknikchef på Sun Microsystems och senare VD på Novell och därefter Google, att upptäcka vad som hände. På FirstPerson var fokus fortfarande på interaktiv TV som i kombination med bredband till hemmen skulle bli otroligt hett framåt 1999-2000, menade de. Men cheferna på Sun började tappa tålamodet och beordrade teamet att ta fram något de kunde tjäna pengar på. Kaos var, milt uttryckt, bara förnamnet. Då klev Bill Joy in på kontoret för att styra upp det hela.

Bill Joy. Bild: Ted.com

Joy insåg snabbt att Oak var som gjort för Internet. En möjlighet att skriva programkod som kunde köras i webbläsaren istället för direkt i operativsystemet gjorde att Oak, som 1995 döptes om till Java då varumärket Oak redan var taget, nu fick ny energi. med 16 miljoner Internetanvändare och endast ett fåtal webbläsare fanns här en tydlig öppning på marknaden att fylla, och Sun tog till och med en egen webbläsare vid namn HotJava, skriven i Java och som kunde köras på alla plattformar som Java porterats till. Räddningen får ändå sägas vara Netscape som bestämde sig för att bygga in stöd för Java i sin webbläsare, som redan då kördes på ett antal olika plattformar. Folket på Sun började nu se ljuset i tunneln men ett internt jättebråk om huruvida Java skulle släppas helt fritt eller inte pågick under flera månader där en av de stora stötestenarna var att Sun i princip gav bort sina egna produkter till konkurrenterna, främst Microsoft.

Med Java kunde webbsidorna nu få mer liv, avancerade funktioner och även om de som minns hur det var att surfa på 90-talet minns att det kunde ta sin lilla tid att slanga ner en Javaapplikation över ett 28.8-modem så gjorde det ingenting, man kunde ju snurra på små kuber med sin mus, direkt i webbläsaren! Undertecknad minns det som ett “Amiga”-ögonblick, där man för första gången upplevde något som fundamentalt förändrade hur man såg på dåtidens övriga datorer och program och insåg vartåt framtiden barkade.

HotJava, här i Windows 2000.

Sun visste samtidigt inte att Microsoft hade sina egna problem med hur de skulle omfamna Internet. Bill Gates berömda mail till personalen i Maj 1995 vände hela bolaget 180 grader och det resulterade bland annat i Internet Explorer, en webbläsare som Microsoft till stor del baserade på källkoden från Mosaic, webbläsaren som Marc Andreessen var med och utvecklade innan han startade Netscape, ett företag vars produkter under några år sågs som det enskilt största hotet mot Microsoft.

Resten är, som man brukar säga, historia. 1997 var Java världens näst mest använda programmeringsspråk, Netscape dog sotdöden några år senare när de inte längre kunde ta betalt för sin webbläsare och deras andra produkter sålde dåligt. Microsoft ägde under flera år Internet med sin webbläsare Internet Explorer och Sun Microsystems ägs idag av Oracle, ett bolag som numera bland annat utkämpar en ganska smutsig fajt i domstolen med Google över hur Java används i Android. Men under några år var det Java som var framtiden – en framtid där vi körde alla våra applikationer direkt i webbläsaren, på en enkel dator utan inbyggd lagring. Kort sagt: Microsofts största mardröm. Drömmen om Java får ändå sägas leva vidare idag, när vi använder webbläsaren till allt mer (exempelvis Google Apps).

Och Java då?  Det är en av världens mest använda utvecklingsplattformar som används i allt från mobiltelefoner till i rena serverapplikationer.  Framgångsrik är bara förnamnet.

Grattis, Java!

Vilket är ditt bästa Java-minne? Dela det med oss nedan!

Relaterade inlägg:

  1. Java-licens för Ubuntu löper ut – så påverkas du och din dator
  2. 28 år sedan Macintosh lanserades
  3. Därför är Safari bäst
  4. Sveriges bästa webbhotell!
  5. Sommarläsning: Sonic den blå igelkotten 20 år

Bäst i test två år i rad - Internetworld

Rekommenderas av InternetworldVi är prisade för vår goda support, höga funktionalitet och kontrollpanel.