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