1.6. Fordele og ulemper ved Java

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.

1.6.1. Enkelt

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.

1.6.2. Objektorienteret

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.

1.6.3. Platformuafhængigt

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.

1.6.4. Netværksorienteret

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.

1.6.5. Fortolket

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å.

1.6.6. Højtydende

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.

1.6.7. Flertrådet

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).

1.6.8. Robust

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).

1.6.9. Sikkert

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.

1.6.10. Dynamisk

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).

1.6.11. Stor opbakning

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.

1.6.12. Svagheder ved Java

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: