Paradigma | objektno orientirana, strukturirana, imperativna, na podlagi dogodkov, generična, deklarativna, komponentno orientirana, asinhrona, funkcijska, generična, refleksivna, sočasna |
---|---|
Začetna izdaja | 2001 |
Oblikoval | Microsoft, Anders Hejlsberg[d] in Mads Torgersen[d] |
Razvijalec | Microsoft |
Stabilna izdaja | 13[1][2] |
Tipizacija | statična, dinamična, močna, varna, nominativna, delno sklepalna |
Večje implementacije | Visual C#, ogrodje .NET, Mono, .NET Core, UWP |
Dialekti | Cω, Spec#, Polyphonic C#, Enhanced C# |
Vplivi | C, C++, Java, Delphi, Objektni Pascal, Cω (LINQ), Eiffel, F# (async), Haskell, Icon, J#, J++, ML, Modula-3, Rust, VB |
Vplival na | Boo, Cobra, D, F#, Go, Groovy, JavaScript, Julia, Nim, Ruby, Swift, Kotlin, TypeScript |
Običajna končnica datoteke | cs in csx |
Spletna stran | csharp |
Družina | C |
C Sharp Programming na Wikibooks |
C#[a] je večparadigmatski programski jezik za splošno uporabo, ki obsega močno tipizacijo ter imperativno, deklarativno, funkcijsko, generično, komponentno orientirano in objektno orientirano programiranje z zmožnostjo refleksije. Upravljanje s pomnilnikom temelji na čistilniku spomina.[3][4][5]
C# se pri skladnji zgleduje po številnih drugih programskih jezikih, najbolj izrazito po C/C++ in javi. Jezik je bil skrbno načrtovan z namenom biti čim bolj preprosti in moderni ter uporabiti najboljše značilnosti drugih jezikov in popraviti pomanjkljivosti, ki so se pokazale v njih. Pomemben primer so generični tipi, katerih specifikacija je v C# bolj dodelana kot v javi, kar omogoča bolje optimizirano strojno kodo, večjo varnost pri definiciji tipov (lažje odkrivanje nekonsistentnosti v času prevajanja) ter striktno upoštevanje kovariančnosti in kontravariančnosti.[6][7]
C# je programski jezik, ki cilja na izvajalsko okolje CLI in s tem ogrodje .NET ter njegove različice kot je Mono. Zaradi tega se programi v C# izvajajo v posebnem izvajalskem okolju in se programska koda v tem jeziku šteje za upravljano kodo. Dele programov napisane v C# je zato enostavno povezovati z deli, ki so napisani v kateremkoli drugem programskem jeziku skladnem s CLI, z obstojem prenosljivih implementacij CLI (npr. Mono ali .NET Core) pa imajo programi napisani v C# tudi zelo dobro prenosljivost med različnimi platformami. Zaradi točne specifikacije programskega jezika in vmesnega jezika CIL, se lahko program napisan v C# neposredno prevede in izvede na drugih okoljih, ne da bi bilo treba za prenosljivost program spreminjati. C# je tudi prva izbira za razvijanje iger v igralnem pogonu Unity. Zaradi omenjenih značilnosti, jasne in dodelane skladnje, velike izraznosti (možnost uporabe različnih paradigem) je C# eden najbolj priljubljenih programskih jezikov.[8][9]
Napaka pri navajanju: Obstajajo <ref group=lower-alpha>
oznake ali predloge {{efn}}
na tej strani, toda sklici se ne bodo izpisali brez predloge {{sklici|group=lower-alpha}}
ali predloge {{notelist}}
(glej stran pomoči).