Kaj je skupna jezikovna infrastruktura?

Skupna jezikovna infrastruktura (CLI) je niz mednarodnih tehničnih standardov, ki spodbujajo interoperabilnost računalniških programskih jezikov. CLI omogoča tudi številnim jezikom visoke ravni za razvoj aplikacij, ki so neodvisne od platform in arhitektur. Za ta namen je združenih več kot 30 programskih jezikov, ki uporabljajo štiri oddelke programskih specifikacij skupnih jezikov, da postanejo skladni s CLI.

Uporaba tako imenovanega sistema skupnih tipov (CTS), z uporabo niza podatkovnih tipov in operacij ter metapodatkovnih informacij o programskih strukturah omogoča medjezično pisanje kode. CLI prevede jezike v skupni vmesni jezik (CIL) in iz CIL posreduje vidike aplikacije v jezik montažnega stroja, ki obravnava strojno opremo. Poleg tega obstajajo skupne jezikovne specifikacije (CLS), ki so osnovna pravila, določena za uporabo s katerim koli jezikom, ki išče interoperacijo, in navidezni izvršilni sistem (VES) za nalaganje, izvajanje in generiranje izvajalnih kod za vse programe, ki so skladni s CLI. .

Večina jezikov, ki so skladni s CLI, se prevede neposredno v CIL z uporabo običajnega izvajalnega okolja (CLR). Po prevajanju in predpomnjenju prevajalnik pravočasno prisvoji strojno kodo iz obstoječe arhitekture. Konstrukcijo montažne strojne kode je mogoče izdelati tudi pred CLR s prevajalnikom vnaprej.

Da bi jeziki, ki so združljivi s CLI, izkoristili specifičnost objekta, skupna jezikovna infrastruktura določa, da morajo objekti ob klicu izpostaviti le lastnosti, ki so jim skupne z drugimi jeziki, združljivimi s CLI. Komponente kode, razvite za uporabo samo podatkovnih tipov, sprejetih v CTS, naj bi bile skladne s CLI in dostopne vsem drugim jezikom, ki so skladni s CLI. Poleg tega je vsaka konstrukcija jezika, ki je ni mogoče hitro preveriti z varnostjo tipa kode, izključena iz CLS, tako da lahko rečemo, da so samo preverljive kode skladne s CLS.

Nekatere programske funkcije so skupne tako prevajalnikom kot razvijalcem, druge pa so na voljo samo prevajalcem. Seznam je dolg in poln uporabnih funkcij. Funkcija, ki je na voljo samo prevajalcem, je: ključne besede, ki zagotavljajo referenčne identifikatorje in lahko preglasijo navidezne metode z imeni, ki so ključne besede. Funkcija, ki je na voljo tako prevajalcem kot razvijalcem, vključuje: funkcije modifikatorjev, ki pravijo, da morajo biti lastnost in njeni ocenjevalci vsi »statični«, morajo biti vsi »virtualni«, vsi morajo biti »instanca«.

Implementacijski programi so za namizne računalnike, strežnike, mobilne naprave in igralne konzole. Iz jezikov, skladnih s skupno jezikovno infrastrukturo, so razviti tudi programi za izboljšanje računalniškega vida in nizkonivojski kompleti virtualnih strojnih orodij. Izvajalni časi infrastrukture skupnega jezika učinkovito dodeljujejo sistemske vire in kličejo periferne naprave, čeprav so neodvisni od platforme.