Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 1. Indledning | næste |
Der var en gang - sådan starter mange eventyr. På sin egen måde har Java også været et eventyr, ikke kun for SUN Micro Systems (SUN) men også for den store skare af udviklere der i tidens løb har taget sproget til sig på godt og ondt.
Tilbage i 1992 var der nogle visionære personer ansat hos SUN, der ønskede at definere et programmeringssprog samt et afviklingsmiljø, som kunne anvendes til at afvikles i små diskrete enheder. Det primære årsag til at kikke på denne opgave var, at hver gang en virksomhed skulle at udvikle en ny enhed med en indbygget mikroprocessor, skulle de også til at udvikle oversættere, operativsystem, enhedsprogrammer mv. Ud over denne relative store opgave, skulle de enkelte udviklere også bruge en del tid på at sætte sig ind i den nye hardware platform, og evt. nyt assembler sprog (C bliver typisk kun anvendt til større enheder med mere hukommelse og hurtigere processor).
SUN's tanke var at definere et simpelt letvægts afviklingsmiljø (virtual machine) som enkelt kunne implementeres på forskellige typer af processorer. Derved kunne udviklerne koncentrere sig om at udvikle funktionalitet i stedet for at prøve at forstå hvordan den underliggende arktitektur var opbygget.
Udviklingen af det sprog, der skulle programmeres i, tog udgangspunkt i C og C++, specielt mht. syntaks. Dette ville gøre det let for målgruppen, som typisk allerede kendte til især C, at komme hurtigt igang med udvikling af software.
SUN's direktion besluttede at sætte en række midler af til et forskningsprojekt der skulle afdække mulighederne for en sådan platform. Projektet havde mange kodenavne, deriblandt "stealth project" og "project green". Efter et årstid havde gruppen fået defineret platformen og det var nu tid til at prøve tingene af i virkelighedens verden.
Test-projektet (kendt under navnet "Star Seven") var en simpel PDA (Personal Digital Assistent - som PalmPilot). Projektet var en succes, de havde bevist at de kunne udvikle det samme produkt på væsentligt kortere tid end det normalt ville havde taget dem (faktor 3 i forhold til normalt), men SUN besluttede at sig for at markedet endnu ikke kunne bære et produkt af denne type (SUN skævede selvfølgelig til Apples PDA - Newton - som Apple, på trods af at produktet var rimelig modent, ikke kunne sælge).
I stedet gik SUN i forhandlinger med bla. Times Warner om at implementere deres platform på såkaldte SetTop bokse, som er meget udbredte i bl.a. USA. Af ukendte årsager kunne Time Warner og SUN ikke blive enige, og aftalen blev aldrig til noget.
På det tidspunkt virkede det som om platformen ikke skulle blive til noget, projektet blev kørt lidt ud på et sidespor, men der blev arbejdet på livet løs i de små kontorer i Silicon Valley. På det tidspunkt hed programmeringssproget Oak - årsagen skulle efter sigende være, at James Gosling blev inspireret af et egetræ (eng. oak) der stod udenfor hans kontorvindue. Nu ville skæbnen blot at der allerede eksisterede et firma der havde navnebeskyttet (trademark) navnet Oak Technologies. De brugte noget tid på at brainstorme omkring navnet og kom på navne som: Silk, DNA, Aliva, Jolt, Ruby, WRL (WebRunnerLanguage), Lyric, Pepper, NetProse, Neon og Lingua Java (læs mere her: http://www.javaworld.com/jw-10-1996/jw-10-javaname.html).
I starten af 1995 havde en af SUN's udviklere lavet en webbrowser i Java på en weekend (det siger nok mere om webbrowseren end om Java). Det specielle ved denne webbrowser (senere kendt som HotJava) var at den kunne afvikle Java indlejret i HTML-siden, hvilket var fuldstændigt nyt på dette tidspunkt. HotJava blev vist frem på SUN World '95. Her blev det set af nogle folk fra Netscape, som på det tidspunkt var den altdominerende webbrowser på markedet, og de kunne godt lide tanken om at kunne afvikle programkode som en del af en HTML-side. Netscape købte en licens af SUN til at implementere en Java virtuel maskine, og den første version af Netscape med Java 1.1 var version 3. Det blev en bragende succes. I løbet af meget kort tid spredte kendskabet til Java sig og alle skulle lige pludselig til at programmere appletter (navnet på den slags Javaprogrammer der kan afvikles i en browser).
Siden 1995 er det gået hurtigt for Java. Version 1.1.0 blev hurtigt til version 1.1.2 osv. På nuværende tidspunkt er den seneste 1.x version fra SUN version 1.1.8_008. Version 1.1.x bliver ikke længere videreudviklet og har startet sit sidste liv - dvs. SUN retter ikke længere andet end meget kritiske fejl (dvs. ingen).
I starten af 1999 kom version 1.1.x's afløser - version 1.2.0. I denne version var der ændret på en del af arkitekturen i Java og rent markedsføringsmæssigt blev det kaldt "Java 2", hvilket den næste også hedder idag (Java 2 Standard Edition). Den seneste version 1.2.x fra SUN er version 1.2.2_010.
Den seneste endelige version af SUN hedder version 1.3.x (seneste 1.3.1_02) og i denne version er der også blevet plads til nogle nye features (dog ikke så mange som ved hoppet fra version 1.1.x til 1.2.x).
Den næste version af Java hedder version 1.4.0 og er i skrivende stund i beta 3 - dvs. næsten klar til udgivelse. Den nye version af Java er meget spændende mht. nye features.
SUN havde lige fra starten (1.1) valgt at lade oversætter og en version af den virtuelle maskine være tilgængelige gratis til nedhentning via internettet.
Det er stadig gratis at hente og bruge Java til både private og kommecielle formål. SUN leverer Java udviklingsmiljøer til følgende operativsystemer:
Linux (forskellige distributioner)
SUN Solaris
Microsoft Windows 95,98,Me,NT,2000 & XP
Ud over disse versioner eksisterer der også et produkt der hedder JavaOS som bl.a. kan afvikles under DOS med DPMI-understøttelse. Denne version af Java bliver dog pt. ikke videreudviklet aktivt af SUN og kan ikke længere findes på deres hjemmeside.
Den seneste version af Java kan hentes fra SUN Java hjemmeside: http://java.sun.com/j2se.
Ud over SUN er der en række firmaer der også implementere Java til række platforme. Her er listen fra SUN's hjemmeside:
AIX (IBM)
DG/UX 4.2 (Data General Corporation)
DYNIX/pt 4.2.2 (Intel)
HP-UX (Hewlett-Packard)
IRIX (Silicon Graphics)
Linux (Blackdown)
MacOS (Apple)
NetWare (Novell)
OpenVMS (Compaq Computer Corporation)
OS/2 (IBM)
OS 390 (IBM)
OS 400 (IBM)
SCO (SCO)
True64 (Compaq Computer Corporation)
UnixWare (SCO)
VxWorks (Wind River Systems)
Windows NT (Digital Equipment Corporation)
For mere information om de forskellige versioner kik på siden: http://java.sun.com/cgi-bin/java-ports.cgi.