C# (C Sharp) — moderni .NET-ohjelmointikieli: määritelmä ja historia
C#: moderni .NET-ohjelmointikieli — määritelmä, kehitys ja historia vuodesta 2001. Lue C#:n ominaisuudet, versiot (C# 8.0) ja Anders Hejlsbergin rooli.
C# (lausutaan "see sharp") on yleiskäyttöinen, moderni ja tyypitetty tietokoneohjelmointikieli, joka on suunniteltu erityisesti .NET-alustaa varten. Kielen kehitti Microsoft, ja sitä johtaa Anders Hejlsberg. C# on tarkoitettu kirjoittamaan turvallista ja tehokasta hallittua (managed) koodia: se kääntyy .NETin välikoodiksi (IL), jota .NET-toteutus suorittaa JIT- tai AOT-käännöksen avulla. Kieli tukee olio-ohjelmointia, geneerisiä tyyppejä, tapahtumia, delegaatteja sekä laajaa standardikirjastoa, ja sitä käytetään laajasti esimerkiksi työpöytä-, web-, mobiili-, pilvi- ja pelikehityksessä (mm. Unity).
Lyhyt historia ja versiot
C# syntyi 2000-luvun alussa Microsoftissa osana .NET-hanketta. Ensimmäiset standardisoinnit tehtiin ECMA:ssa ja myöhemmin ISO:ssa. Kielen kehitys on ollut aktiivista: joka vuosi tai parin välein on julkaistu uusia versiota, jotka ovat tuoneet merkittäviä kieliominaisuuksia ja suorituskykyparannuksia.
- Varhaiset versiot: C# 1.0 ja 2.0 toivat perusominaisuudet ja generics-tuen.
- LINQ ja funktionaaliset piirteet: C# 3.0 lisäsi LINQ:n ja lauseke-pohjaisen ohjelmoinnin helppouden.
- Dynaaminen ja asynkroninen ohjelmointi: C# 4.0 toi dynaamisen tyypityksen ja C# 5.0 asynkronisuuden (async/await).
- Modernit parannukset: C# 8.0 (2019) toi muun muassa nullable reference -tuen ja async streams. Seuraavissa versioissa (C# 9–11) ovat tulleet mm. record-tyypit, top-level statements, source generators, pattern matchingin laajennukset ja muita syntaktisia sekä suorituskykyyn liittyviä parannuksia.
- Ajantasainen versio: Kielen kehitys jatkuu aktiivisesti; uusin vakaa julkaisu on C# 12 (osa .NET 8 -kokonaisuutta, julkaistu 2023), joka jatkaa kielen yksinkertaistamista, suoritustehon parantamista ja kielen laajentamista moderneihin ohjelmointitarpeisiin.
Keskeisiä piirteitä
- Staattinen tyypitys: virheet havaitaan usein jo käännösaikana, mikä parantaa luotettavuutta.
- Olion suuntautuneisuus: luokat, rajapinnat, perintä ja kapselointi.
- Geneerisyys (generics): tyypin turvallisuus ilman suorituskykyhäviötä.
- LINQ: kielen sisäinen tuki tietokanta- ja kokoelmahauille sekä transformaatioille.
- Async/await: helppo asynkroninen ohjelmointi ilman monimutkaisia callback-rakenteita.
- Nullable reference types: apuväline nollaviitteiden (null) aiheuttamien virheiden vähentämiseen.
- Records ja immutability: helpottavat arvo- ja data-luokkien käsittelyä.
- Suorituskykyominaisuudet: Span
, stackalloc, ja muut optimoinnit suorituksen parantamiseksi. - Hyvä työkalu- ja ekosysteemi: Roslyn-kääntäjä (avoin lähdekoodi), Visual Studio, Visual Studio Code -laajennukset ja laaja kirjasto- ja paketointituki (NuGet).
Käyttökohteet
C# on monipuolinen: sitä käytetään
- web-kehitykseen (ASP.NET Core, Blazor),
- työpöytäsovelluksiin (WinForms, WPF),
- mobiilisovelluksiin (Xamarin, .NET MAUI),
- peli- ja reaaliaikaiseen grafiikkaan (Unity),
- pilvipalveluihin ja mikro\-palveluarkkitehtuureihin (Azure, Docker),
- ja sulautettuihin järjestelmiin tai IoT-ratkaisuihin.
Yhteenveto
C# on moderni, jatkuvasti kehittyvä ohjelmointikieli, joka yhdistää turvallisen staattisen tyypityksen, korkean abstraktion tason ja suorituskykyominaisuuksia. Se on tiiviisti integroitu .NET-ekosysteemiin ja tarjoaa vahvat työkalut sekä laajan kirjastovalikoiman monenlaisiin sovellusalueisiin. Kielen kehitys jatkuu aktiivisena, ja uudet versiot tuovat säännöllisesti sekä syntaktisia että suorituskykyyn liittyviä parannuksia.
Suoritusalusta
- Microsoft .NET -alusta;
- C#:n ja .NETin vapaa toteutus, kuten Novellin kehittämä Mono tai Free Software Foundationin kehittämä dotGNU.
Nykyään C#-kieltä voidaan käyttää useimmilla alustoilla (Windows, Linux jne.) muuttamatta lähdekoodia. C#:ta voidaan käyttää Xbox 360 -alustalla erityisen kehyksen avulla.
Syntaksi
C#-koodi on samanlaista kuin C++- ja Java-koodi. C#-ohjelman suorittamiseen tarvitaan CLR (Common Language Runtime).
"Hello, World!" esimerkki
Perussyöttöesimerkki
Integroidut kehitysympäristöt
C#-kieltä voidaan muokata useissa IDE-ohjelmissa (Integrated Development Environments), joista osa on lueteltu alla:
Windows:
- Microsoft Visual Studio
- SharpDevelop
- Visual C#
- Visual C# Express
Mac OS X:
- MonoDevelop (rajoituksin)
Unix/Linux:
- MonoDevelop
Aiheeseen liittyvät sivut
Kysymyksiä ja vastauksia
K: Mikä on C#?
V: C# on Microsoftin kehittämä tietokoneohjelmointikieli.
K: Milloin C#:n ensimmäinen versio julkaistiin?
V: C#:n ensimmäinen versio julkaistiin vuonna 2001.
K: Mikä on C#:n uusin versio?
V: C#:n uusin versio on C# 8.0, joka julkaistiin syyskuussa 2019.
K: Mikä on C#:n tarkoitus?
V: C# luotiin käyttämään kaikkia .NET-alustan valmiuksia.
K: Kuka johtaa C#:n kehitystiimiä?
V: Anders Hejlsberg, Delphin luoja, johtaa C#:n kehitystiimiä.
K: Minkä tyyppinen kieli C# on?
V: C# on moderni kieli.
K: Kuka kehitti C#-kielen?
V: C#-kielen kehitti Microsoft.
Etsiä