Rejsen frem mod Java 9

Java 9 er lige udkommet, og indeholder rigtig meget spændende nyt, som helt sikkert er starten på den største oprydning i Java’s kernefunktionalitet, siden Java 1 udkom. Der er sket en del siden da…

For omkring 20 år siden, opdagede jeg et nyt programmeringssprog fra Sun. Sproget var Java, det var gratis, og da det mindede lidt om C og C++, var det ret let for mig at begynde at skrive små-programmer, for at lære mere om det. Verden indenfor computere og PC var på mange måder noget anderledes dengang. Internettet var kommet godt i gang. Søgemaskinen over dem alle hed Altavista, og smartphones var lavet af verdens dengang største fabrikant af mobiltelefoner, Nokia. Min PC kørte OS/2, dels fordi jeg mente det teknisk set var det bedste, og bestemt også som en protest mod Microsofts monopollignende dominans på PC-markedet. En tredje mulighed var naturligvis en computer fra Apple, men det var også en del dyrere. Jeg sad med OS/2, og skrev programmer i C++ med IBM’s dyre VisualAge udviklingsværktøj, som så kunne køre på OS/2. Og ikke andet. Når først programmet var oversat til en binær eksekverbar fil, kunne programmet kun afvikles på den maskintype og operativsystem, det var skrevet til.

Java ændrede på softwaredistribution

Java var anderledes end C og C++. Sun producerede ikke PC’er med en Intel processor, men mini-computere, der kørte Solaris. Programmer skrevet til Solaris kunne ikke afvikles på en PC med OS/2 eller Windows, eller det dengang meget umodne Linux. Med Java kunne verden ændres. Med java kom en JVM – Java Virtual Machine, en slags simuleret computer, der kunne afvikle Java-programmer på en næsten vilkårlig maskine. Det kunne gøre det meget lettere at skrive programmer én gang, og så have mulighed for at køre helt samme program på flere maskiner, uden det skulle gen-oversættes.

Tankerne om Java var store helt fra starten, men Java var fra starten mest tænkt som klient-software, der kunne installeres på en computer, eller køre i en browser, og dermed gøre internettet mere interaktivt. Flere producenter begyndte at lave Java Virtual Machine til deres egne styresystemer. IBM lavede Java til OS/2, AS/400, z/OS, Microsoft lavede en JVM til Windows, og Nokia lavede en KJVM (en slags mini-udgave af Java til meget små maskiner) til deres mobiltelefoner.

Der er sket rigtig meget i mellemtiden

Altavista kender ingen til længere, Nokias rolle på mobiltelefonmarkedet er overtaget af Google med Android, og Apple med iPhone, Microsoft tabte browserkrigen til Google, og Sun blev købt af Oracle. Java levede videre, og der blev skrevet millioner af kodelinjer i Java, men det blev aldrig rigtig en succes på klient-computerne på skrivebordene. Systemerne flyttede i stedet ned på webserverne i maskinrummene og ud på websiderne, hvor Java er mega stor i dag. Kun meget få Java-programmer overlevede i browseren og på skrivebordet. Ideen med, at man kan skrive et Java-program, og få det afviklet på forskellige platforme holder dog stadig. Mange systemer skrevet i Java, bliver uændrede installeret på servere med Windows eller Linux, og i de fleste tilfælde helt uden man behøver tænke over det, og på den måde har Java helt sikkert været med til at få Linux ind i serverrummene.

Der er dog ét sted, Java har overlevet på klient-platformen, og det er på Android. Google valgte programmeringssproget Java, idet man herved kunne få en platform, hvor programmet ville være det samme, selvom forskellige fabrikanter brugte forskelligt hardware. Google valgte dog af forskellige årsager at lave en anden virtuel maskine, nemlig Dalvik, og så lavede Google en anden måde at skrive klient-software, end det, Java var født med. Google’s model er på mange måder mere moden og tidssvarende, og langt bedre egnet til mobiltelefoner, end den model Java lagde op til, og som var lavet til grænseflader på desktoppen da OS/2 og Windows sloges om pladsen på skrivebordet.

Java overlevede firmaet, der lavede det

Selvom Sun nok havde store tanker om Java, da de satte det i værk for ca. 20 år siden, så havde de nok aldrig forestillet sig, at det ville få den udbredelse, det har fået i dag. Jeg glæder mig meget til at se, hvad Java 9, og den oprydning der er lagt op til, kommer til at ændre og forme den måde Java-programmer kommer til at se ud fremover. Der er helt sikkert rigtig mange gode ting på vej!
Povl Kvols

Povl Kvols

Instruktør

Erfaren arkitekt og leadudvikler, som har arbejdet professionelt med IT siden 1986. Har dyb erfaring med teknisk softwareudvikling (Java, Android, Web), processerne omkring det (Scrum, Agile) og automatisering af softwareproduktion med Continuous Integration og Delivery. Arbejder gerne med formidling af krav og løsninger og behovsanalyse i domæner med stor kompleksitet.