Slik har Oracle bygget om Java

Slik har Oracle bygget om Java

Versjon 8 skal være tilpasset tingenes internett.

Java 8 er ifølge Oracle den største oppgraderingen av Java. Den omfatter en modernisering av språket med tilhørende biblioteker, som eksempelvis biblioteket for tid og dato. Det er tilrettelagt for bruk i apparater som tilknyttes internettet, Internet of Things (IOT), tingenes internett.

- Markedet for IOT behøver den standardiseringen som Java 8 representerer, sier Tore Bjelland, administrerende direktør i Oracle Norge.

Ifølge analysefirmaet Gartner vil markedet for tingenes internett skape en omsetning på 309 milliarder dollar i 2020.

Kjøpte Sun

Da Oracle kjøpte Sun, var Java den teknologien som var mest spennende. Grunnen er det enorme antallet Java-applikasjoner som benyttes. Skal man tro Oracle er det mer en tre milliarder installasjoner basert på Java. Det har skjedd siden Sun lanserte Java i 1995.

Språket er inspirert av C og C++. Java ble utviklet fra 1991 under ledelse av James Gosling med tanke på datidens tv-er som dessverre ikke hadde kapasitet til å håndtere små Java-programmer. Det har endret seg. Alle verdens spillere av Blue Ray benytter Java ifølge Oracle.

- Etter å ha uttalt meg om IOT i tiår, er jeg begeistret for hvordan utviklere nå kan skape kode langt ut over behovene til smarttelefoner, understreker James Gosling, sjefsarkitekt i Liquid Robotics i en uttalelse.

Målsetningen for Java var at det ikke skulle være så detaljert mot det tekniske utstyret som C. Det skulle være enklere å benytte enn C++.

- Vi tilrettelegger for fremtiden med Java 8, sier Nandini Ramani, direktør for Java i Oracle.

Grunnen til oppmerksomheten for Java 8 er det Java skulle utvikle seg til å bli, men ikke ble under Suns ledelse av utviklingen. Suns Java 6 hadde andre kvaliteter enn det som var lovet. Det var funksjoner som manglet, det var funksjoner som skulle komme senere.

Java 7 under Oracles ledelse ble dermed en versjon som sørget for å svare til programmerernes forventinger. Deretter skulle Java 8 modernisere kodernes utviklingsmiljø, men Java 8 har blitt forsinket på grunn av den omfattende utviklingen.

Skaper nye forventninger

Java 8 skaper nye forventninger. Ifølge Nandini Ramani forenkler Java 8 utviklingen av nye applikasjoner. Det er blitt bedre med utnyttelsen av prosessorkjerner og det skal bli enda bedre. Dernest harmoniserer Java 8 utviklingen for hele virksomheten fra den minste til den mest krevende applikasjonen, og så tilrettelegger språket for tingenes internett.

Grunnlaget er Java SE 8 og Java ME 8. ME (Micro Edition) er en ekte delmengde (subset) av SE (Standard Edition).

- Java 8 demonstrerer innovasjonen som blir til i samarbeid mellom IBM, Oracle og andre medlemmer i Java-fellesskapet i OpenJDK, sier John Duimovich, Distinguished Engineer i IBM i en uttalelse.

I tidligere versjoner av Java har ikke Java ME vært er en fullstendi del av SE. Micro Edition har hatt sine spesialiteter særlig på grensesnitt, for å kunne tilpasses til datautstyr med begrenset prosessor og minnekapasitet.

- Java 8 ME er et ekte subsett av Java 8 SE og begge lanseres derfor samtidig fra nå av, fortsetter Nandini Ramani.

Målet er å få programmerere som lager applikasjoner for innebygging i teknisk utstyr som eksempelvis bensinpumper og kaffeautomater til å interessere seg for å bruke Java 8 ME og de tre minste versjonene av Java 8 SE.

Største lanseringen

- Dette er den største lanseringen de seneste ti år, den største oppgraderingen siden Java ble introdusert, understreker Georges Saab, direktør for Java plattform i Oracle.

Argumentasjonen for den største oppgraderingen er samordningen av Java 8 ME og SE og funksjonene Streams API og Lambda.

- Streams og Lambda passer bra sammen med Javas objekt-arv, men det har vært vanskelig få det til. Utviklerne har gjort en bra jobb, forklarer Georges Saab.

Streams er Javas sett med inn/ut-funksjoner, klasser for å håndtere data som skal flytte fra en kilde til en annen, eksempelvis skrive data til en NFS-fil. Kombinert med klasser gir grensesnittene Streams API nye muligheter.

Lambda er et utrykk for funksjoner som kombineres med Javas objekter og arveegenskaper. Lambda benyttes for å dra nytte av generelle felles kodesekvenser som nyttes om igjen og om igjen, eksempelvis for å oppfatte hvilken tast som ble trykket.

- Det er helt magisk hvordan Lambda Expressions bidrar til å gjøre kodene så mye klarere, understreker James Gosling.

Java 8 er dermed i ferd med å bli et helt annet språk enn tidligere. Målet er å gjøre det enklere å fordele bearbeidingen på mange programtråder, det vil si utnytte mange prosessorkjerner som skal gi økt bearbeidingskapasitet, enklere kode og økt utviklerproduktivitet.

Tilpasningsdyktig

Java er alltid tilpasningsdyktig (Cross Platform) fordi prosessorteknologi forbedres over tid.

- Applikasjoner i Java må kunne ta hensyn til utviklingen uten å måtte skrive om applikasjonene, påpeker Georges Saab.

Dette konstruksjonsprinsippet har vært grunnleggende for Java helt fra begynnelsen. Derfor er ny programvare basert på Java mulig å bruke på gammelt utstyr. Grunnen er at Java oversettes det vil si kompileres til en spesialkode, Bytecode, istedenfor maskinkode som er prosessoravhengig. Bytecode oversettes så til maskinkode mens programmet benyttes. Derfor kan Java mye enklere tilpasses utviklingen.

Mens applikasjoner basert på Microsoft fullstendig er avhengig av Intels maskinkode kan Java benyttes på en rekke prosessorer som Arm, Intel og PPC. PPC er IBMs prosessorgrunnlag som benyttes mye i det innvevde markedet, blant annet i biler og datakommunikasjon.

For å kjøre Bytecode kreves det en Java Virtual Machine som tilpasser koden til selve prosessoren. Det er derfor fagfolkene på Java VM som jobber tett med prosessorutviklerne.

Java har definert en rekke datatyper som eksempelvis heltall, desimaltall, byte, 64 bit streng. I Java 8 kan disse nå bearbeides av Javas Annotations som er metadata som kan utnyttes av koden. Hensikten er å skrive kortere og mer forståelig kode. På grunn av sin funksjon bidrar Annotations til bedre feilsøking og dermed raskere utvikling.

Fornyet dato og tid

Biblioteket for dato og tid var blitt 15 år og trengte modernisering. Standard tidskonsepter benyttes, eksempelvis tidssoner. Nye standarder for kalendersystemer som eksempelvis ISO 8601 er lagt inn. Andre kalendersystemer kan legges til, som den arabiske.

Hos nettleserselskapet Netscape hadde de behov for et dynamisk språk i nettleserne. Dette språket ble omdøpt til Javascript da Netscape så behovet for å jobbe mot sentrale tjenester utviklet i Java. Siden har Javascript blitt en industristandard ved at Microsoft raskt tok det i bruk.

For bedre å jobbe sammen med Java 8 har Oracle laget et nytt programvaremiljø, Javascript Engine, som forbedrer ytelsen og drar nytte av Java i den virtuelle maskinen, Java Virtual Machine som all Java-kode kjører i.

For å tilpasse seg forskjellige typer datamaskiner har Oracle laget forskjellige profiler for standardversjonen. I utviklingsmiljøet JDK 8 (Java Development Kit) kan utviklerne tilpasse applikasjonen til tre forskjellige profiler med hensyn til programstørrelse.

Hensikten er å lage applikasjoner som kan bygges inn i ulike typer teknisk utstyr som trenger programvare for styring og dialog med brukerne. Kravet til minnet er fra 11 til 48 MB avhengig av kravene til programvaregrensesnittene. Også grafikk kan utnyttes da fortrinnsvis ved hjelp av en grafikkprosessor med 18 MB statisk minne.

En virkelig forbedring er tilpasningen mellom Java ME og Java SE som gjør at Java kan utnyttes bedre i alt slags utstyr. Målet er kode som bare krever 128 KM med minne og 1 MB permanent minne som flash. Koden skal benyttes i alt av utstyr som benytter en prosessor som eksempelvis alle typer helseinstrumenter og automatiske måleavlesere (AMS) for strøm.

- Oracle leverer nå en komplett, sikker, integrert IOT-plattform, fremhever Tore Bjelland.

Basisen for ME er Java VM. På laget over er det moduler for generisk tilkobling, Inn/ut for oppgaven, profilen for oppgaven og sikkerhetstjenester. På toppen ligger ytterligere grensesnitt for datakonvertering, formålsorienterte tilkoblinger, lokasjon, meldinger, protokoller, sensorer, sikkerhet, trådløs kommunikasjon og web-tjenester.

For å skape løsningene benyttes utviklingsmiljøet Netbeans som opprinnelig ble utviklet ved Charles University i Praha. Dette miljøet ble senere kjøpt av Sun.

- Netbeans IDE 8 er vesentlig. Den drar nytte av en lang liste med nyttige funksjoner, påpeker James Gosling.

Forventningen nå er Java 8 Enterprise Edition, men her er det omgivelsene, ikke språket som krever tilpasninger.

Dette er Java

Java er et programmeringsspråk som oversettes til lavnivå-kode som deretter tilpasses prosessoren språket skal behandles av.

Lavnivå-kode: Bytecode, kode som er kompilert fra Java som siden fortolkes av prosessoren.

Krever: Java Virtual Machine (JVM) som kan utnyttes av andre språk enn Java. JVM er tilpasset prosessoren som skal kjøre programmet.

Utvikling: Språket er inspirert av C og C++. Java ble utviklet fra 1991 under ledelse av James Gosling med tanke på datidens tv-er som dessverre ikke hadde kapasitet til å håndtere små Java-programmer. Det har endret seg. Alle verdens spillere av Blue Ray benytter Java ifølge Oracle.

Målsetningen for Java var at det ikke skulle være så detaljert mot det tekniske utstyret som C. Det skulle være enklere å benytte enn C++.

Versjon: Java 8 som rydder opp i strukturen og forbedrer produktiviteten av kodearbeidet.

Les om:

Utvikling