Mark Reinhold
Storleken för Javaplattformen är viktig, ett exempel är att man vill ha många installationer av den i en server. Det är en av de anledningar Oracles Mark Reinholds ger till att skapa en ny struktur för Javaplattformen. Foto: Lars Danielsson

Mark Reinhold är Oracles chefsarkitekt för Javaplattformen. Han sammanfattar på ett kärnfullt sätt vad vi kan förvänta oss av Java SE 9, den kommande nya versionen av Javaplattformen:

– No pain, no gain.

Han syftar på de förändringar av specifikationen som ska göra det möjligt att skapa en ny modulstruktur för mjukvaruimplementationen av Java SE-spcifikationen. Eller för att prata klarspråk: Versionen av plattformen OpenJDK, och andra liknande plattformar, som baseras på Java SE 9 kommer att vara mycket smartare strukturerad än den nuvarande versionen.

Det innebärt en hel del stora förändringar. Java SE 9 förväntas vara klar i år.

Läs mer: Han dömer ut html5 i mobilappar – bättre att jobba med en plattform i taget

Mark Reinhold berättade de här sakerna under ett föredrag på konferensen Jfokus i Stockholm nyligen. Han nämnde flera skäl till den nya modulstrukturen, varav de viktigaste är de följande:

  • Möjligheten att skapa mindre implementationer av Javaplattformen, att bara behöva ta med de delar, eller moduler, som behövs för en viss applikation.
 
  • Bättre prestanda, till exempel vad gäller starttider.
 
  • Minskad komplexitet, eller som Reinholds uttrycket det att åtgärda ”classpath hell”. Enkelt uttryckt ska definitionerna som behövs för att ett Javaprogram ska fungera bli enklare.
  • Bättre säkerhet, bland annat som en följd av minskad komplexitet.

Att komplexiteten minskar beror på en upprensning av klassbibliotek och programmeringsgränssnitt (api:er). Den upprensningen är nödvändig för att kunna skapa den nya modulstrukturen i Java SE 9. Samtidigt ger arbetet med den nya modulstrukturen en chans att rensa bort ”gammalt skräp”, konstruktioner som inte längre används eller är mindre bra utformade.

Läs mer: Microsoft tar upp språkkampen med C#

Exempel på saker som rensas bort är gamla konstruktioner som skapades för internt bruk i Javaprogram, men som ändå kan nås av extern kod, vilket till exempel kan ge säkerhetsprogram. Ett annat exempel är klasser och programmeringsgränssnitt som ersatts av nyare och bättre lösningar.

För att illustrera allt detta visar Reinholds en illustration över beroenden mellan olika delar av Java SE 8. Illustrationen är kraftigt huvudvärksframkallande. Antalet pilar och därmed beroenden är klart mindre i motsvarande illustration för Java SE 9.

Så här långt är allt väl. Javaplattformen kommer att bli bättre strukturerad. Det ser verkligen ut att bli en bättre Javavärld för alla.

Men. Det finns en massa gammal kod som inte kommer att fungera med Java SE 9. Bland de som kommer att lida under den kommande övergången till Java SE 9 märks till exempel leverantörerna av utvecklingsverktyg för Java.

Som sagt: No pain, no gain.

Fakta

Specifikationen Java SE (Java Platform, Standard Edition) är kärnan i Javaplattformen. I den specificeras språket Java, klassbibliotek (färdig kod för olika uppgifter) och programmeringsgränssnitt.

Här samlas alla typer av IT-beslutsfattare för att prata om digitaliseringen som driver framtidens affärer.

Fokus ligger på mobilitet, säkerhet, molnet och big data.

http://cite.event.idg.se