中亚好兄弟卖中国绝密利器:一发报废超级航母
Jeziki skladni s CLI so programski jeziki, ki se uporabljajo za izdelavo kni?nic in programov, ki so skladni s specifikacijo Common Language Infrastructure (CLI). Razen nekaterih izjem se ti jeziki obi?ajno najprej prevajajo v Common Intermediate Language (CIL), standardiziran skupni vmesni jezik, ki se lahko izvaja z uporabo katerekoli implementacije CLI, kot na primer Common Language Runtime (CLR, ki je del Microsoftovega ogrodja .NET), okolje Mono ali Portable .NET. Nekateri od teh jezikov zahtevajo tudi Dynamic Language Runtime (DLR) za podporo dinami?nim tipom (primer je IronPython).
Ko se program napisan v tak?nem jeziku izvaja, je vmesna koda sproti prevedena ("just-in-time") v strojno kodo platforme, na kateri se program izvaja. Ker to obi?ajno malo zakasni izvajanje, se lahko ta korak izvede pred?asno (angle?ki izraz za tak?en prevajalnik je "ahead-of-time compiler") s posebnimi prevajalniki (npr. z Microsoftovim vnaprej?njim prevajalnikom ngen.exe ali s prevajalnikom ogrodja Mono z ukaznim parametrom "-opt").
Medopravilnost
[uredi | uredi kodo]Jeziki skladni c CLI so medopravilni, kar pomeni, da lahko aplikacijo enostavno sestavimo iz delov, ki so napisani v kateremkoli izmed teh jezikov. Klici funkcij, sklicevanje na tipe in konstante definirane v kak?nem drugem od teh jezikov je neposredno, za to ne potrebujemo posebnih vmesnikov in ni vpliva na zmanj?anje performanc. To daje razvijalcem veliko svobodo, ker lahko v svojih aplikacijah in knji?nicah enostavno uporabijo knji?nice napisane v drugih jezikih skladnih s CLI, hkrati pa lahko svoje knji?nice napi?ejo v poljubnem od teh jezikov in izbira jezika ne vpliva na uporabnost knji?nice.
Jeziki za CLI
[uredi | uredi kodo]- A#: CLI implementacija programskega jezika Ada.
- Axum
- Boo
- C# je najpogosteje uporalbjan jezik skladen s CLI. Jezik ima nekatere skupne lastnosti z jeziki Java, Object Pascal (Delphi) in C++. Implementacije jezika so na voljo v Microsoftovem ogrodju .NET, Portable.NET in Mono.
- C++/CLI Razli?ica C++, ki vsebuje raz?iritve za uporabo CLR objektov. Impementacija je na voljo le v ogrodju .NET.
- ClojureCLR
- Cobra
- Component Pascal
- Eiffel
- F#: Ve?paradigmski programski jezik, ki podpira predvsem funkcijsko progamiranje in imperativno objektno programiranje.V veliki meri je kompatibilen z OCaml. Microsoftov prevajalnik lahko prevaja za platformi .NET in Mono.
- F* - jezik osnovan na F#.
- Fantom - jezik, ki se lahko prevede za .NET in JVM
- GrGen.NET
- IronLisp CLI skladna implementacija jezika Lisp.
- IronPython: Odprtokodna CLI skladna implenmentacija jezika Python, za izgradnjo potrebuje Dynamic Language Runtime (DLR).
- IronRuby: odprtokodna CLI-skladna implementacija jezika Ruby, za izgradnjo potrebuje Dynamic Language Runtime (DLR).
- IronScheme
- J# CLI-skladna implementatacija Jave.
- JScript .NET CLI-skladna implementacija ECMAScript verzije 3
- L#: A CLI implementation of Lisp.
- Lisp#
- Managed Extensions for C++
- Managed JScript CLI-skladna implementacija jezika JScript, za izgradnjo potrebuje Dynamic Language Runtime (DLR).
- Nemerle
- Niecza - CLI-skladna implementacija jezika Perl 6.
- Oxygene: Jezik osnovan na jeziku Object Pascal
- P# CLI-skladna implementacija jezika Prolog.
- C#Prolog CLI-skladna implementacija jezika Prolog.
- Prolog.NET CLI-skladna implementacija jezika Prolog.
- Phalanger: Implementacija jezika PHP z raz?iritvami za ASP.NET
- Phrogram
- PowerBuilder
- Small Basic
- STARLIMS Scripting Language (SSL)
- Synergy DBL .NET
- Team Developer
- Visual Basic .NET (VB.NET): Dialekt jezika Visual Basic. Implementations je na voljo v .NET in Mono.
- Windows PowerShell: objektno orientirana ukazni vmesnik. PowerShell lahko dinami?o nalaga kodo v .NET, ki je bila napisana v kateremkoli CLI-skladnem jeziku. Sam PowerShell uporablja edinstveno skriptno sintakso z zavitimo oklepaji, podobno sintaksi jezikov, ki so osnovani na C.