Introduktion
Den här specifikationen baseras på en inlämning från Hewlett-Packard, Intel och Microsoft som beskrev ett språk som heter C#, som utvecklades inom Microsoft. De främsta uppfinnarna av detta språk var Anders Hejlsberg, Scott Wiltamuth och Peter Golde. Den första distribuerade implementeringen av C# släpptes av Microsoft i juli 2000, som en del av dess .NET Framework-initiativ.
Ecma Technical Committee 39 (TC39) [senare omdöpt till TC49] Task Group 2 (TG2) bildades i september 2000 för att skapa en standard för C#. En annan aktivitetsgrupp, TG3, bildades också då för att skapa en standard för ett bibliotek och en körningsmiljö med namnet Common Language Infrastructure (CLI). (CLI baseras på en delmängd av .NET Framework.) Även om Microsofts implementering av C# förlitar sig på CLI för biblioteks- och körningsstöd, behöver inte andra implementeringar av C#, förutsatt att de stöder de funktioner och API som krävs av denna C#-standard (se bilaga C).
När definitionen av C# utvecklades var de mål som användes i dess design följande:
- C# är avsett att vara ett enkelt, modernt, allmänt, objektorienterat programmeringsspråk.
- Språket och implementeringarna av det bör ge stöd för programvarutekniska principer som stark typkontroll, kontroll av matrisgräns, identifiering av försök att använda oinitierade variabler och automatisk skräpinsamling. Programvarans robusthet, hållbarhet och programmerarens produktivitet är viktiga.
- Språket är avsett att användas för att utveckla programvarukomponenter som är lämpliga för distribution i distribuerade miljöer.
- Källkodsportabilitet är mycket viktigt, liksom programmerportabilitet, särskilt för de programmerare som redan är bekanta med C och C++.
- Stöd för internationalisering är mycket viktigt.
- C# är avsett att vara lämpligt för att skriva program för både värdbaserade och inbäddade system, allt från de mycket stora som använder avancerade operativsystem, ner till de mycket små som har dedikerade funktioner.
- Även om C#-program är avsedda att vara ekonomiska när det gäller energikrav för minne och bearbetning, var språket inte avsett att konkurrera direkt om prestanda och storlek med C eller sammansättningsspråk.
Namnet C# uttalas "C Sharp".
Namnet C# skrivs som latinsk versal bokstav C (U+0043) följt av NUMBER SIGN # (U+0023).
ECMA C# draft specification