Standardisering af Java og .NET  


Denne artikel blev bragt i ugebladet Ingeniørens IT-tillæg fredag
d. 4 oktober 2002 under overskriften "Ægte standard i .NET - ikke i Java".

af Henrik Lykke Nielsen, Microsoft Regional Director for Danmark & Carsten Juel Andersen, Sun Certified Programmer for J2SE, Captator

I Ingeniørens artikel fra den 6. september 2002 ”Kapløb om platforme afgøres i 2003” kommer der mange interessante synspunkter frem. Men der citeres også udtalelser om, at ”Microsoft har fuld bestemmelsesret over .Net”, og at ”Java er jo en standard”, og det mener vi ikke er retvisende, så derfor denne beskrivelse af standardiseringstiltagene på de to platforme: Java og .NET.


Det er en udbredt misforståelse, at Java er standardiseret, det er ihvertfald ikke tilfældet i traditionel forstand. Sun indgav Java til standardisering i regi af ECMA tilbage i 1999. Samtidig forsøgte en uafhængig gruppe, at få Sun til at indgive Java til standardisering hos ISO. Sun trak dog sit forslag tilbage et halvt år senere, og arbejdet for en ISO standard er også siden opgivet.

Som et alternativ til en egentlig standardisering oprettede SUN: ”Java Community Process” – JCP. Det er en organisation, hvor igennem nye Java tiltag specificeres og afprøves via reference implementationer.  Alle med interesse i Java kan opnå medlemskab og indgive forslag til nye tiltag samt deltage i specifikationsarbejdet. SUN sidder på flertallet af stemmer i JCPs to Executive Commitees, og har derved bevaret kontrollen over Java’s fremtid. JCP anses af mange for at være lige så godt som en standardisering, men en egentlig standardisering er der ikke tale om.

Hvis du vil have fuldstændig check på, hvordan JCP virker så læs vores artikel: Java's JCP - Java Community Process - program.


Hvorvidt .NET er standardiseret afhænger af hvad man helt præcist mener med .NET, da Microsoft har brugt betegnelsen i mange forskellige sammenhænge. De taler dels om .NET visionen, som er en vision om distribuerede applikationer som bundet sammen via XML web services kan spænde over forskellige typer enheder. De taler endvidere om .NET platformen, som er Microsofts bud på en bred platform for den næste generation af applikationer. Og endelig taler Microsoft om .NET frameworket, som er den egentlige udviklings- og afviklingsplatform.

I praksis er .NET platformen en løs specifikation af en række standarder, teknologier og produkter, som den næste generation af applikationer kan basere sig på. Som softwareudvikler er .NET frameworket den vigtigste og mest konkrete del af .NET platformen, og den mest relevante del at tale om i standardiseringsøjemed.

I december 2001 blev sproget C# og en delmængde af .NET frameworket kaldet CLI (Common Language Infrastructure) - indbefattende et klasse-bibliotek - standardiseret i regi af ECMA (som under navnet ECMAScript også står for standardiseringen af JavaScript). C# er et nyt skud på stammen af objektorienterede programmeringssprog i C-syntaks familien. Og CLI specifikationen skal sikre, at mange – og meget forskellige - programmeringssprog kan benyttes som .NET programmeringssprog således at applikationer og komponenter skrevet i forskellige .NET sprog let kan integreres. Planen er at fortsætte standardiseringsindsatsen, dels ved udvidelse af hvad der er standardiseret, dels ved at søge standardisering i ISO-regi. Selv om der nok ikke er nogen tvivl om, at Microsoft længe vil være den dominerende spiller i forhold til udformelse af .NET standarderne, så er de absolut ikke enerådende, da ECMA standardiseringsgruppen også består af spillere så som IBM, Intel, HP, Netscape, SUN og andre.

Hvis du vil vide mere om standardiseringen af .NET så læs vores artikel: Standardisering af .NET.


Denne artikel er en kommentar til en artikel i ingeniøren. Artiklen, der er fra den 6. september 2002, kan også ses på nettet:  IT-analytikere: Kapløb om platforme afgøres i 2003.

Læs også de øvrige artikler, der danner baggrundsmateriale for denne kommentar

Som beskrevet i denne artikel er dele af .NET standardiseret, læs mere i artiklen Standardisering af .NET.



Rotor er kodenavnet for hvad der officielt hedder "Shared Source CLI" og er Microsofts implementation af CLI og C# med tilhørende tilgængelig kildekode til dels Windows XP dels til FreeBSD. Rotor er endvidere implementeret på Linux af tredjepart. Læs mere om Rotor i vores artikel Microsoft Shared Source CLI Implementation alias Rotor.


 
Mono projektet er en open source implementation af .NET frameworket og C#. Læs meget mere i vores artikel Mono projektet. Læs også interviewet med Miguel de Icaza om .NET. Miguel de Icaza er en af bagmændene bag Mono projektet.


Der findes også en del andre open source implementationer omkring .NET - se en kort beskrivelse af nogle af dem i vores artikel Åben kode .NET


Java's fremtid styres af den Sun ledede organisationen JCP, læs mere om organisationens opbygning og formål i artiklen Java's JCP - Java Community Process - program