Common Language Infrastructure

I denne artikel skal vi udforske og analysere Common Language Infrastructure fra forskellige perspektiver og i forskellige sammenhænge. Common Language Infrastructure er et emne, der har fanget folks opmærksomhed rundt om i verden, og dets betydning og indvirkning er ubestridelig. Gennem årene har Common Language Infrastructure udløst heftige debatter, drevet betydelig forandring og været en inspirationskilde for mange. I dette indlæg vil vi tage et dybt kig på Common Language Infrastructure for at forstå dets betydning, relevans og indflydelse på vores liv. Fra dets oprindelse til dets udvikling har Common Language Infrastructure sat et uudsletteligt præg på samfundet, og det er vigtigt at forstå dets rækkevidde for at værdsætte dets sande værdi. Formålet med denne artikel er at give et komplet og indsigtsfuldt overblik over Common Language Infrastructure og dermed bidrage til forståelsen og diskussionen af ​​dette emne.

Common Language Infrastructure (CLI) er en åben specifikation udviklet af Microsoft og standardiseret af ISO og ECMA, som beskriver udformningen af den udførbare kode og det runtime-miljø der udgør kernen i Microsoft .NET Framework og opensource implementeringerne Mono og Portable.NET. Specifikationen definerer et miljø der tillader brugen af forskellige højniveau-sprog på forskellige computerplatforme, uden at skulle omskrives til den specifikke system-arkitektur.

Overblik

CLI-specifikationen beskriver blandt andet følgende fire aspekter:

Common Type System (CTS)
Et fælles sæt af datatyper og operatorer der deles af alle CTS-kompatible programmeringssprog.
Metadata
Informationer om programmets opbygning er sproguafhængige, så de kan anvendes mellem forskellige sprog og værktøjer, hvilket gør det lettere at bruge kode skrevet i et andet sprog, end det du anvender.
Common Language Specification (CLS)
Et sæt af basale retningslinjer som alle programmeringssprog, der er rettet mod CLI skal overholde for at kunne samarbejde med andre CLS-kompatible sprog. CLS-reglerne definerer et udsnit af Common Type System.
Virtual Execution System (VES)
VES indlæser og udfører CLI-kompatible programmer. Ved brug af metadata kombineres separate stykker af programmet på kørselstidspunktet.

Alle kompatible sprog kompileres til Common Intermediate Language (CIL), der er et mellemkodesprog der abstaharer fra platformens hardware. Når koden afvikles, vil den platformsspecifikke VES kompilere CIL-koden til maskinkode i henhold til det specifikke hardware og operativsystem.

Standardisering og licensering

I august 2000, arbejdede Microsoft, Hewlett-Packard, Intel og andre på at standardisere CLI. I december 2001, blev det ratificeret af ECMA og efterfølgende ISO-standardiseret i april 2003.

Microsoft og deres partnere har patentet på CLI. ECMA og ISO kræver at alle patenter med afgørende betydning for implementeringen skal gøre tilgængelige under RAND (Licensering), men fortolkningen heraf har ført til en del kontroverser, især i forbindelse med Mono.

I juli 2009 tilføjede Microsoft C# og CLI under deres såkaldte Community Promise, så enhver trygt kan implementere disse standarder uden at skulle frygte et sagsanlæg for patentbrud.

Spire
Denne artikel om standarder og måleenheder er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.