Het leek de laatste tijd alsof de fut wat uit Java was. Hoe ziet het toekomstbeeld van Java er nu precies uit?
Je ziet immers al vaker artikels opduiken die Java voor achterhaald en dood verklaren, of minstens de wens daartoe uitspreken. Zelfs op de voorbije JavaOne werd tijdens een ontmoeting met het team van de Java-taal door een aanwezige gesuggereerd om de bagage uit het verleden te dumpen, en ‘een niet terugwaarts compatibele Java’ te bouwen, een ‘clear cut’ met het verleden (*). En ook tijdens de openingskeynote van JavaOne leek er niet echt veel animo te zitten in het (niet echt talrijke) aanwezige publiek. Kortom, is Java echt een ‘has been’ die op zijn best nog inspireert tot een aantal jaren (of decennia) saai onderhoudswerk aan bestaande toepassingen? Een programmeertaal waarover je op zijn best in de verleden tijd spreekt, zonder echte toekomst?
Make the future Java
Toch niet! Integendeel, de deelnemers aan JavaOne 2012 in San Francisco zagen een Java in verandering, zowel wat de taal, het platform, de integratie met andere omgevingen, nieuwe markten, als het beslissingsproces rond de toekomst van Java zelf betreft. Java blijft “het meest populaire platform, met meer mogelijkheden en de beste productiviteit”, stelde Hasan Rizni, executive vp middleware en java development meteen bij de aanvang en dat zette wat de toon.
Sinds de aankondiging van Java SE 7 – het nieuws van vorig jaar – kende het platform een groot succes, met heel wat uitbreidingen en downloads. In april van dit jaar oversteeg het marktaandeel van SE 7 dat van SE 6, en het bedraagt momenteel meer dan 80 procent. Tevens werd iedereen aanbevolen om de eerste versies van de JDK 8 al binnen te halen, om in januari 2013 de ‘feature’-lijst af te ronden, gevolgd door een ‘developer preview’ in februari. Die versie 8 brengt dan de langverwachte closures/project ‘lambda’, een beter samenleven met andere talen en project ‘Nashorn’ – een herschreven JavaScript-engine, met onder meer een sterke integratie met Java. En dat zijn slechts de toppunten in de nieuwe SE-versie, wat toch wel op een toekomst voor Java wijst. Het laat zich raden dat SE 8 op JavaOne 2013 boven de doopvont zal worden gehouden.
Wat de Enterprise Edition (EE) betreft, zijn alle belangrijke applicatieservers nu gecertifieerd voor EE 6, en zit EE 7 in de pijplijn tegen begin 2013. De nadruk zal eens te meer liggen op een grotere productiviteit van ontwikkelaars, naast een focus op dynamische html5-apps. Het doel is meer innovatie in dit platform, zonder ‘bloat’. Wat de cloud en multitenancy betreft, werd besloten een en ander tot EE 8 uit te stellen, terwijl meer modulariteit (nog steeds op basis van Jigsaw) voor EE 9 in het vooruitzicht wordt gesteld. Beslis-singen die volgens waarnemers getuigen van realiteitszin, om zo EE 7 meer op de onmiddellijke noden van de gemeenschap af te stemmen, en niet uit te pakken met elementen waarvoor men nog niet klaar is (of nog geen standaarden bestaan).
Dat is vandaag het leidmotief: er komen regelmatig nieuwe versies en daarin is plaats voor wat klaar is, zoniet wordt het doorgeschoven naar de editie.
Een voorbeeld van zo’n mogelijkheid zit vervat in het nog prille ‘project Sumatra’, bestemd om maximaal voordeel te halen uit multicore-processoren en heterogene systemen. De werklast van een toepassing zou transparant en automatisch worden verdeeld over de algemene cpu en de grafische gpu, zonder de broncode voor deze parallellisering te moeten aanpassen. Het project bouwt onder meer voort op het werk rond Agarapi, en verloopt in samenwerking met de Heterogeneous System Architecture vereniging – een groep van processorbouwers, waaronder AMD, Samsung, Qualcomm en anderen.
Meer community
Bij het tot stand komen van de toekomstige Java wordt ook meer betrokkenheid van de Java-gemeenschap gezocht. Een gemeenschap die wereldwijd nog groeit, met onder meer een groter aantal Java-gebruikersgroepen (JUGs, zoals de Belgische BeJUG) en meer actieve leden in die groepen. Een voorbeeld hiervan is de London Java Community, die nu ook lid is geworden van het Java Community Process (JCP) SE/EE ‘executive commitee’ en het ‘adopt a jsr’-initiatief lanceerden. Een ‘jsr’ (of Java Specification Request) is een voorstel met het oog op een nieuw kenmerk van Java, en met de hulp van adoptajsr.org kunnen leden van een JUG zowel technologische als juridische hulp bieden. Het doel is om beslissingen zoals eertijds rond EJB 2.0 (uiteindelijk weinig populair en hier op het scherm verzinnebeeld door de Death Star uit Star Wars) te voorkomen, door input vanuit de praktijk.
Het Java Community Proces, de hoeder van het formele beslissingsproces over de toekomst van Java, doorloopt zelf ook een hervorming, geheel volgens de eigen regels door het starten van twee jsr’s. De makkelijkste klussen zijn al geklaard, zoals meer openheid in de werking van expertgroepen en de beslissing om de twee huidige ‘executive committees’ – SE/EE en ME – samen te voegen. Nu moeten nog de basisteksten en processen die de samenwerking tussen alle betrokken partijen regelen, worden aangepast, met heel wat meer juridische haken en ogen. Dat werk zal allicht nog meer dan een jaar duren, maar ondertussen zal zeker al meer input vanuit de community komen. Zoals in de voorbije jaren ligt hierbij een belangrijke rol weggelegd voor de OpenJDK – de implementatie waarin ruimte is voor ideeën en hun concrete uitwerking.
(*) Het antwoord was dat het allicht interessant zou kunnen zijn een Java te bouwen, zeg maar een Java++, die enkel behoudt wat je nodig hebt voor het draaien van een toepassing en de rest als overbodige bagage overboord gooit. Helaas hebben de gebruikers doorheen de jaren zoveel aangevangen met Java waar het bedrijf van afhangt, dat het dan al te makkelijk zou zijn om belangrijke details uit het oog te verliezen en dus problemen te ondervinden. Beter is het dan ook om het gebruik van achterhaalde elementen en praktijken zo sterk mogelijk tegen te werken, bijvoorbeeld door het gebruik ervan moeilijker te maken. Voorts merkte het team droogjes op dat het helemaal niet zeker zou zijn dat het resultaat van een geheel nieuwe Java-oefening even succesvol zou zijn als Java vandaag wel is.
Guy Kindermans
IN APRIL VAN DIT JAAR OVERSTEEG HET MARKTAANDEEL VAN SE 7 DAT VAN SE 6, EN HET BEDRAAGT MOMENTEEL MEER DAN 80 PROCENT.
Fout opgemerkt of meer nieuws? Meld het hier