Common Language Infrastructure

"Common Language Infrastructure" (CLI) je specifikacija, ki opisuje kodo, ki jo je možno pognati, ter izvajalsko okolje, ki omogoča uporabo ver višjenivojskih programskih jezikov za razvoj aplikacij na različnih računalniških platformah. CLI je odprta specifikacija, ki jo je razvil Microsoft in je standardizirana s strani ISO in ECMA, kar omogoča razvoj neodvisnih implementacij. Komercialno Microsoftovo Ogrodje .NET, prosto in prenosljivo odprtokodno okolje Mono in Portable.NET so primeri implementacij CLI. Okolje Mono omogoča razvoj odprtokodnih in komercialnih aplikacij za različne platforme v kateremkoli jeziku, ki je skladen s specifikacijo, pri čemer se za ta namen najbolj pogosto uporablja C#.

Pregled uredi

Specifikacija med drugim opisuje naslednje aspekte razvojnega in izvajalskega okolja:

Common Type System uredi

CTS določa skupino podatkovnih tipov in operacij, ki jih uporabljajo jeziki skladni s specifikcijo.

Meta podatki uredi

Informacija o strukturi programa je neodvisna od jezika, zaradi česar je možno sklicevanje med različnimi jeziki. Zaradi tega je enostavno uporabiti kodo napisano v drugem jeziko kot jezik, v katerem je napisana razvijalčeva koda.

Common Language specification uredi

CLS, skupna jezikovna specifikacija, je množica pravil, ki jih morajo upoštevati jeziki, ki ciljajo na skladnost s CLS.

Virtual Execution System uredi

VES je zadolžen za nalaganje in izvedbo programov skladnih s CLI. Sistem uporablja standardizirane meta podatke, da lahko kombinira ločeno generirane dele kode v času izvajanja.

Jeziki kompatibilni s CLI se prevajajo v Common Intermediate Language, skupni nižjenivojski jezik, ki abstrahira strojno opremo, na kateri se program izvaja. Ko se koda v tem jeziku izvaja, sistem VES (ki je zgrajen za vsako platformo posebej) najprej prevede vmesni jezik (CIL) v strojni jezik določene platforme in operacijskega sistema.

Glej tudi uredi