Nu får Java lambda-udtryk til at gøre parallel programmering lettere

Oracle har nu officielt frigivet den nyeste udgave af Java-platformen, som ifølge selskabet selv er den største i form af nye funktioner i mange år, efter Java 7 især blev brugt til at rydde op i platformen.

Det betyder, at Oracle blandt andet har knækket koden til at få gjort de såkaldte lambda-udtryk til en del af selve Java 8-platformen.

Læs også: Javas chefarkitekt: Sådan bliver Java 8 mere moderne – på en konservativ måde

Lambda-udtryk er et koncept med rødder helt tilbage til før de første elektroniske computere, men de har de seneste år fået en renæssance, fordi de både kan give objektorienterede sprog som Java en let måde at skrive små funktioner på og en måde at lave programmering til parallel databehandling.

»Vi har integreret lambda-udtryk, så det fungerer glat sammen med Javas objektorienterede rødder. Det har ikke været nogen lille udfordring«, siger Georges Saab, underdirektør med ansvar for Java-platformen hos Oracle, til Version2.

Lambda-udtryk er en anden måde at lave funktionskald på, end den objektorienterede model, som Java hidtil har benyttet og som fortsat vil være den primære måde at programmere i Java. Lambda-udtryk findes i en række andre programmeringssprog, eksempelvis Microsofts .Net og C#, og det var oprindeligt planlagt, at lambda-udtryk og de beslægtede closures skulle have været med allerede i Java 7.

Det blev imidlertid droppet, men nu er både lambda-udtryk og closures altså med i Java 8.

Læs også: Så sker det: Java får de omstridte ‘closures’ i 2013

»Vi ønsker at gå forsigtigt frem og så tilføje mere funktionalitet senere, så vi kommer til at se en løbende udvikling. Det her er heller ikke vores første forsøg på lambda-udtryk«, siger Georges Saab.

Lambda-udtryk kan blandt andet bruges til at lave applikationer, som kan arbejde parallelt, og her har det været vigtigt, at lambda-udtryk i Java ikke på samme måde som programmering med tråde lagde det meste af byrden på udvikleren, men i stedet lod Javas virtuelle maskine gøre det grove arbejde.

»I den første version var ydelsen udmærket, men det skalerede ikke, som vi gerne ville have det. Nu synes vi, det er rigtig godt, men der er stadig plads til forbedring«, siger Georges Saab.

Da lambda-udtryk er en tilføjelse til Java, har det også været vigtigt at gøre det på en måde, så det kunne bruges til at udvide allerede skrevne Java-applikationer uden at skulle skrive sin kode helt om.

Ud over understøttelsen af lambda-udtryk, så har Java 8 også fået den nye Javascript-motor Nashorn og et helt nyt API til tid og dato.

Desuden er der nu rettet ind mellem de to udgaver Java SE 8 og Java ME 8, så ME-versionen blot er en delmængde af SE-udgaven.

ME er beregnet til helt små apparater som eksempelvis intelligente termostater, mens den nye Java SE 8 Embedded er beregnet til lidt større enheder som eksempelvis en Raspberry Pi.

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>