C Sharp
C# (borið fram C Sharp) er hlutbundið forritunarmál hannað af Microsoft sem kom út í júní árið 2000. Ætlunin var hjá Microsoft að búa til hlutbundið forritunarmál sem gæti keppt við Java forritunarmálið frá Sun. Málskipan þess svipar til C++ en hefur einnig nokkur atriði úr öðrum málum eins og Java, Delphi og Visual Basic.

Helsta útgáfa Microsoft fyrir Windows stýrikerfið heitir Microsoft Visual C# og er hluti af Visual Studio þróunarumhverfinu. Hægt er að nota C# á öðrum stýrikerfum með svokallaðri Mono útgáfu, hún keyrir á Linux, FreeBSD, UNIX, Mac OS X, Solaris og Windows stýrikerfum. 

Málið er einnig hannað með það í huga að vera einfalt, nútímalegt, hlutbundið og með tegundaöryggi (tag öryggi). 

Tegundaöryggi er þegar breytur eða hlutir eru skilgreindir sem tegund af gildistegund eða klasategund, aðgerðir eru skilgreindar fyrir hverja tegund eða hlut. Kóði sem reynir að framkvæma aðgerðir sem eru ekki skilgreindar fyrir þá tegund er skilgreindur sem rangur í C#.

Málið býður líka upp á tegundalausa kóðun (generics) þar sem tegundir eru ekki skilgreindar í útfærslu heldur við notkun.

Málið hefur sjálfvirkan minnisstjóra líkt og Java. Hún virkar þannig að minni fyrir hluti sem ekki lengur eru í notkun er merkt til reiðu til að koma í veg fyrir minnisvillur. Í eldri málum þurfti forritarinn að hugsa sjálfur um að hreinsa minnið handvirkt með delete línum í kóðanum. Ruslahreinsunin hefur hinsvegar orð á sér að vera töluvert hægvirk.

Aðalhönnuður C# heitir Anders Hejlsberg, hann hefur unnið að hönnun margra forritunarmála. Þar ber helst að nefna Turbo Pascal og Delphi sem og J++ sem var Microsoft útgáfa af java áður en C# kom til sögunnar.

Halló, heimur! í C# 
class Halló_Heimur
{
        static void Main()
        {
            System.Console.Write("Halló, Heimur!");
        }
}

C# 3.0 
C# 3.0 var hleypt af stokkunum 19. nóvember 2007 og er byggt ofan á C# 2.0. Það eru kynntar nokkrar viðbætur við málið sem eru byggðar ofan á C# 2.0 til að styðja við notkun á fallaforritun, vinsæl fallforitunarmál eru MON LISP, ML og Haskel. Svo er líka nýtt í 3.0 Language Integrated Query (LINQ). LINQ er ein leið til að skilgreina eða gera fyrirspurnir á gagnamengi.

Tengt efni 
 Microsoft Visual C#
 .NET Framework
 Grunnklasasafn

Heimildir 

 
 
 
 
 F# 

Forritunarmál