Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31 | ||
---|---|---|
forrige | Kapitel 2. Vælg et sprog | 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.
Det er langtfra det eneste sprog der er designet til den slags opgaver, men med en blanding af held og god markedsføring er det lykkedes at udbrede sproget.
Med udbredelsen af internettet blev Java samtidigt meget udbredt fordi Sun parallelt med selve sproget har udviklet og udbredt deres version af en virtuel computer, bl.a. i webbrowsere. Indlejringen af Suns virtuelle computer i webbrowserne tillader at småprogrammer (på engelsk "applets") kan lægges ind i en hjemmeside.
Fortalere for Java mener at "Java er et enkelt, objektorienteret, robust, netværksorienteret, platformuafhængigt, sikkert, fortolket, højtydende, flertrådet og dynamisk sprog" (citat fra Sun).
Samtidig mener Sun dog ikke at sproget er sikkert nok til at man kan bruge det til alvorlige ting som medicinsk udstyr, flyvemaskiner, trafikstyringssystemer og kernekraftværker. Og i virkeligheden rækker platformuafhængigheden ikke længere end at et Java-program ikke samtidig kan køre hurtigt og korrekt på en almindelig pc.
Det der ofte præsenteres som Javas hovedstyrke, har længe også kunne ses som dets vigtigste hæmsko. Indtil for nylig fandtes der ikke en oversætter der kunne oversætte programmer til maskinkode til en virkelig computer. Hvad angår Linux er det problem nu løst, så man ikke længere er tvunget til at oversætte sine programmer til maskinkode til en virtuel computer, "the Java Virtual Machine" (JVM). Programmer til JVM vil, selvom Java-programmet egentlig ér oversat, skulle fortolkes når programmet køres. Det betyder på den ene side at det oversatte program kan køre på alle systemer der har et program der kan fortolke maskinkode til JVM, men på den anden side betyder det også at Java-programmer i al almindelighed er langsommere end andre programmer.
GCC kan oversætte Java.
C++, men uden en del af fejltagelserne i C++' design...
Et enormt udvalg af biblioteker der fungerer ens på alle styresystemer...