|
Dataforeningen
07. feb 2012 - Oslo
|
|
|
|
|
- Hvis vi går noen år tilbake, vil jeg påstå at .Net er hakket mer objektorientert i VM-et enn Java, sier Rune Zakariassen, fagansvarlig for forskning og høyere utdanning i Microsoft Norge AS.
Objektorientert
VM står for Virtual Machine, og er et system som gjør det mulig å kjøre programmer, et mellomlag mellom operativsystem og applikasjonsprogram. Java har sin egen, og .Net har sin egen.
Grunnen til at Zakariassen hevder .Net er mer objektorientert i sin VM, er at alt behandles som samme objekt i .Net, mens Java sitt VM gjør forskjell på for eksempel tallobjekter og tekstobjekter, eller int og string som de kalles i Java-verden.
- Forskjellen mellom Java og C# er så marginale at det ikke er noe poeng å kåre en vinner når det gjelder dette, mener president i JavaBin, Thor Henning Hetland.
Komponenter
Zakariassen kan si seg enig i at forskjellene er marginale, men mener likevel den marginale forskjellen går i .Nets-favør. I tillegg mener Zakariassen at .Net er vesentlig bedre enn Java når det gjelder komponentorientering.
Komponentorientering betyr utvikling ved hjelp av komponenter, at applikasjoner og systemer er delt opp i mindre deler. Dette har mange fordeler, og en av disse er enklere vedlikehold av applikasjonene.
Det er lettere å bytte en defekt eksospotte enn å måtte bytte hele motoren. Her er Hetland er bare delvis enig med Zakariassen.
- Jeg vil egentlig påstå at begge språk er for dårlige på komponentisering til å skape maksimal verdi, sier Hetland, men møter motstand fra Zakariassen:
- Her er jeg faktisk uenig. Komponentorientering krever en god del metadata for klasser og klassesamlinger og .Net sin VM skiller seg vesentlig fra Java VM ved at den krever og benytter mer metadata i eksekveringen.
Arv og meta
Metadata er data som beskriver andre data, og ifølge Zakarissen er poenget at .Net støtter såkalt "runtime inheritence". Inheritence betyr arv, og er et viktig prinsipp innen objektorientering; at en klasse kan arve egenskaper av en annen klasse, slik at et objekt kan bli en mer spesialisert utgave av et annet.
At dette kan gjøres runtime, altså i det programmet kjøres, betyr økt fleksibilitet for de som vil bruke dynamiske språk som SmallTalk og Python. Hetland er helt enig i at .Net er litt bedre når det gjelder metadatanivået i klasser og klassesamlinger.
- Når det gjelder runtime-perspektivene, så gjør Java VM-en mindre optimaliseringer under kompilering, og er derfor vel så godt egnet som plattform. Neste versjon av Java vil ha klasser og klassesamlinger på mer eller mindre på linje med .Net, sier Hetland, som ikke er helt enig i Zakariassen når det gjelder argumentasjonen rundt runtime inheritence:
- Man har bra løsninger i Java for alt man i .Net gjør med runtime-inheritance, men det er realisert på en noe annen måte, forklarer Hetland, som påpeker at også Java har implementasjoner av språk som Ruby, SmallTalk også videre.
Stabilitet
Hetland gir Java plusspoeng i margen når det gjelder stabilitet.
- Dette kommer av friheten til å velge forskjellige VM, og det finnes over 30 forskjellige slike. Konkurranse gir ofte bedre kvalitet, sier Hetland.
Zakariassen tolker begrepet stabilitet på en annen måte, og tenker mest på ren oppetid, evnen til å takle feil i kjøretid, "graceful recovery", "fail-over", "clustering" også videre.
- Og dette har ikke så mye med antall VM-er å gjøre, sier Zakariassen, og stiller spørsmål ved hvilken definisjon Hetland bruker.
Mange varianter
Hetland forteller at de forskjellige VM-ene i Java har forskjellig karakteristikk på teknisk stabilitet. På toppen av VM-ene kjører man en applikasjonsserver, og her er det også over 30 forskjellige varianter å velge fra. Disse håndterer alle stabilitetsbegreper Zakariassen nevnte, deriblant clustering.
- Her snakker vi om clustre på hundrevis til tusenvis av maskiner som normalscenario for større systemer. Det er jo ikke uten grunn at banker og telekommunikasjonsbransjen stort sett bruker Java for slike virksomhetskritiske systemer, sier Hetland.
- Jeg erkjenner at finansindustrien har en forkjærlighet for Java. Og at det der argumenteres med modenhet. Men jeg synes det er vanskelig å synse så mye rundt stabilitet. Grunnen er at jeg mener dette er noe som kan måles konkret, men jeg har ikke sett noen undersøkelser som har analysert «stabilitets»-egenskapene til Java og .Net, så jeg uttaler meg basert på egne erfaringer. Jeg ser ikke de store forskjellene mellom Java og .Net her ut fra mine egne vurderinger, sier Zakariassen.
Økokrim mener John Markus Lervik er ansvarlig for regnskapsfusk etter Microsoft-salget.
IKT-Norge mener it-ministeren bør holde seg unna Telenor-saken når hun drar til India søndag.
Trønderske forskere har konkludert med hva slags mikrofoner som gjør videokonferansen best.
Derfor blir det blodrødt for Sony i år. Dette og ukas mest leste får du her.
Den amerikanske politikeren Will Fourkiller vil skattlegge voldsspill og bruke inntektente til å bekjempe fedme.
Hva skjer når man sender en mann på nettverkingstreff for kvinner?

Computerworld utgis avCopyright 2012 IDG Magazines Norge AS. All rights reserved
Postboks 9090 Grønland – 0133 OSLO / online@idg.no / Telefon 22053000
Ansvarlig redaktør Morten Kristiansen / Utviklingsansvarlig Ulf H. Helland / Salgsdirektør Jon Thore Thorstensen