Splid om Java 7

Splid om Java 7

Java 7 skal etter planen lanseres i begynnelsen av 2009. I fagmiljøet går diskusjonen høyt om Javas sjel.

Få plattformer innen it vekker så mye interesse og diskusjon som Java. Javazone har de siste årene dratt over 2000 entusiaster . Brukergruppen Javabin har nesten 5000 medlemmer. Tilsvarende engasjement finner man i hele verden. Når en ny versjon av Java lanseres går det sjelden stille for seg, og Java 7 er den første versjonen som lanseres under åpen kildekode-lisens. Lansering er satt i begynnelsen av 2009, men uenigheter fører trolig til utsettelse.

- Det er en del ting i Java 7 som har ført til mye diskusjoner. Det mest sentrale er nok dette med closures. Her er det en del uenigheter om hva som er Javas vei videre, sier Anders Norås, ekspert på programmeringsspråk og ansatt ved Storebrand.

Closures er funksjoner som kan sendes som parametere til andre funksjoner. Tilhengerne mener closures gjør det mulig å skrive kode i en mer funksjonell stil enn det man kan i dagens Java. Poenget er å gjøre løsningene mer brukervennlige og fleksible for sluttbrukeren. Programmeringsspråk som Ruby og C# har allerede tilsvarende mekanismer. De første variantene kom allerede på 50-tallet.

- Det var først da Microsoft trakk ut nytteverdien av closures i 2008-versjonene av sitt utviklingsverktøy at en ny generasjon programmerere fikk øynene opp for mulighetene, sier Anders Norås i Storebrand.

Enige i målene

De aller fleste er enige om at endringene i Java 7 er til det bedre, men ikke alle er enige i hvilke elementer som skal vektlegges. Man er enige i målene, men ikke metodene.

- Noe av kjernen og suksessfaktoren i Java er at det er enkelt. Det er en del som frykter at closures gjør Java mer komplisert, og dermed at terskelen blir høyere, sier Norås.

På mange måter står man overfor et veiskille. Dersom man velger en dårlig implementasjon av closures, kan språket bli enda vanskeligere å lære seg, noe som vil åpne for enklere språk som Groovy, Ruby og Python. Spesielt vil dette være aktuelt for nye programmerere.

- Frykten er at Java skal gå fra å være det foretrukne språket for utdanningsinstitusjoner, til å bli forbeholdt guruer med langt hår inne på et mørkt kontor, sier Norås.

Arbeidet med Java 7 begynte i 2006, under navnet Dolphin. Prosjektgruppen JDK7 har ansvaret for å utvikle løsningen, men prosessen er åpen for alle. Til tross for at utviklingen er åpen, er det i hovedsak Suns ansatte som jobber med prosjektet. Da prosjektet startet ble det definert noen målsetninger for Java 7. I tillegg til closures ønsket man blant annet bedre støtte for XML, forbedringer av API-et og nytt datobibliotek (dette er basert på et Open Source-prosjekt, som i motsetning til to tidligere mislykkede forsøk, har lykkes med å lage gode tidsbegreper i Java). Men det er altså closures striden står om.

Bør la det ligge

Ser man på spørreundersøkelser på java.net er omtrent like mange for som imot. Veddemål er visst allerede inngått om hvorvidt closures blir en del av Java 7 eller ikke.

- Skulle jeg satt penger på det tror jeg closures blir utsatt, men jeg tror mange av de andre nyhetene i Java 7 vil bli tatt med, fortsetter Anders Norås i Storebrand.

Java har nådd syvende versjon. Språket har gjennomgått store endringer minst tre - fire ganger. Nye funksjoner har hele tiden kommet til. Det er over ti år siden Java ble etablert. Spørsmålet er om tiden er moden for å la Java ligge.

- For å være helt ærlig. Jeg skulle ønske man ble ferdig med hele diskusjonen, og heller gikk over til et annet Java-kompatibelt språk. Man har fikset på Java så lenge at det er på tide å kalle det ferdig, mener Trygve Laugstøl, daglig leder i Arktekk og styremedlem i Javabin.

Han mener ideen om closures er god, men at de negative konsekvensene er større enn fordelene.

- 90 prosent av det som er skrevet i Java støtter ikke closures. Det betyr at man må programmere mye på nytt. Samtidig tror jeg ikke det er til det best for språket å gjøre det for komplekst, sier Laugstøl.

Java 7 skal etter planen lanseres i begynnelsen av 2009. Hvis man i det hele tatt skal klare å lansere noe som helst, bør man bli enige så fort som mulig.

- Jeg tviler på at closures er med i neste versjon. Etter at man har fått Java 7 ferdig gjenstår minst et halvt år med testing. Det er viktig for Java at man klarer å bli enige, ikke minst fordi det er første versjonen som Open Source, sier Laugstøl.

Saken er hentet fra Computerworld-bilaget It-karriere med tema Java.

Les om:

Utvikling