Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 1. Indledning | næste |
Java er et initiativ til at skabe et programmeringssprog, der kan køre på flere styresystemer. Det er udviklet af Sun Microsystems, der i 1991 arbejdede med at designe et programmeringssprog, der var velegnet til at skrive programmer til fremtidens telefoner, fjernsyn, opvaskemaskiner og andre elektroniske apparater. Sådanne programmer skal være meget kompakte (begrænset hukommelseslager) og fejlsikre (risikoen for, at apparatet ikke virker skal være minimal).
Med udviklingen af internettet blev Java samtidig meget udbredt, fordi teknologien bl.a. tillader, at små programmer kan lægges ind i en hjemmeside (se kapitlet om appletter).
Det har på kort tid udviklet sig til at være fremherskende på grund af dets egenskaber. Java er et enkelt, objektorienteret, robust, netværksorienteret, platformuafhængigt, sikkert, fortolket, højtydende, flertrådet og dynamisk sprog.
Java er i forhold til andre programmeringssprog et ret enkelt sprog, og det er forholdsvis nemt at programmere (specielt for C++ og C-programmører). Mange af de muligheder for at lave fatale fejl, der eksisterer i andre programmeringssprog, er fjernet i Java.
Samtidig kommer det med over 1000 foruddefinerede objekt-typer, som kan udføre næsten enhver tænkelig opgave. Præcist hvad "objektorienteret" betyder handler denne bog om.
Java er platformuafhængigt. Det vil sige, at samme program umiddelbart kan udføres på mange forskellige styresystemer, f.eks. UNIX, Linux, Mac og Windows, og processor-typer f.eks. Intel IA32, PowerPC og Alpha.
Java har indbygget alskens netværkskommunikation (se kapitlet om netværk), og bruges meget på internettet, da javaprogrammer kan køre på næsten alle platforme. Samtidig er Javaprogrammer så kompakte, at de nemt kan indlejres i en hjemmeside.
Kildeteksten oversættes til en standardiseret platformuafhængig kode (kaldet bytekode), som derefter udføres af en javafortolker på det enkelte styresystem. Derved opnås, at man kun behøver at oversætte sin kildetekst én gang. Javafortolkeren er en såkaldt virtuel maskine, der konverterer instruktionerne i bytekoden til instruktioner, som det aktuelle styresystem kan forstå.
De nuværende fortolkere tillader javaprogrammer at blive udført næsten lige så hurtigt, som hvis de var blevet oversat direkte til det pågældende styresystem.
Java er designet til at udføre flere forskellige programdele samtidigt, og en programudførsel kan blive fordelt over flere CPU'er (se kapitlet om flertrådet programmering).
Java er også robust; under afviklingen af et program tjekkes det, at handlingerne er tilladelige, og opstår der en fejl, såsom en ønsket fil ikke kan findes, erklærer Java, at der er opstået en undtagelse. I mange andre sprog vil sådanne uventede fejl føre til, at programmet stopper. I Java har man let adgang til at fange og håndtere disse undtagelser, så programmet alligevel kan køre videre (se kapitlet om undtagelser).
Et sikkerhedssystem tjekker al programkode og sørger for, at bl.a. hjemmesider med Java-appletter ikke kan gøre ting, de ikke har lov til (f.eks. læse eller ændre i brugerens filer), uden at brugeren selv har givet tilladelse til det.
Java kan dynamisk (i et kørende program) indlæse ekstra programkode fra netværket og udføre den, når det er nødvendigt, og der er indbygget mekanismer til at lade programmer på forskellige maskiner dele dataobjekter (se eksempelvis kapitlet om RMI).
Ovenstående egenskaber gør, at Java også har vundet stor udbredelse i serversystemer de seneste år, og Java understøttes i dag af næsten alle større softwarefirmaer, f.eks. IBM, Oracle, Borland, Netscape.
Softwaregiganten Microsoft er en undtagelse. Microsoft blev i efteråret 2000 kendt skyldig ved domstolen i USA for ulovligt at misbruge sin monopollignende magt på PC-markedet for at skade bl.a. Java. Sagen blev naturligvis anket, og det er i skrivende stund uvist hvad den ender med.
Microsoft er ikke interesseret i, at programmerne kan udføres under andre styresystemer end Windows. De har lavet deres egen udgave af Java, der kun virker under Windows, og har (uden større held) forsøgt at lokke programmører til at bruge den.
Java har også en del kritikere, især blandt de, hvis forretningsmodel eller område er truet af Java. Ikke desto mindre er der nogle gode pointer iblandt:
Java kræver hukommelse (RAM). Store Javaprogrammer kan kræve så meget, at de har problemer med at køre på mindre kontor-PC'ere.
Java skal installeres på en computer, før den kan afvikle javaprogrammer. Hvis man vil distribuere sit program, skal man således pakke en version af Java med.
Sun Microsystems ejer Java, og nogle frygter, at det vil udvikle sig til et monopol som med Microsoft. Indtil videre har de dog opført sig eksemplarisk og bl.a. frigivet hele kildeteksten til Java, og derudover findes der andre uafhængige udgaver af Java.
Java satser på at være platformuafhængigt, men der er alligevel små forskelle på de forskellige platforme. Dette gælder specielt ved programmering af grafiske brugergrænseflader. Det kræver erfaring og test at sikre sig, at ens program virker tilfredsstillende på flere platforme. Dette er ikke kun et Java-relateret problem, designere af hjemmesider har tilsvarende problemer. Java gør det nemmere at skrive platformuafhængige programmer, men det løser ikke alle problemer for programmøren.