Úvod
Tato specifikace vychází z odeslání od společnosti Hewlett-Packard, Intel a Microsoft, která popsala jazyk s názvem C#, který byl vyvinut v rámci Microsoftu. Hlavními vynálezci tohoto jazyka byli Anders Hejlsberg, Scott Wiltamuth a Peter Golde. První široce distribuovaná implementace jazyka C# vydala Společnost Microsoft v červenci 2000 jako součást své iniciativy rozhraní .NET Framework.
Technický výbor Ecma 39 (TC39) [později přejmenován na TC49] Task Group 2 (TG2) byl vytvořen v září 2000, aby vytvořil standard pro C#. V té době byla také vytvořena další skupina úloh TG3, která vytvořila standard pro knihovnu a spouštěcí prostředí s názvem Common Language Infrastructure (CLI). (ROZHRANÍ příkazového řádku je založené na podmnožině rozhraní .NET Framework.) I když implementace jazyka C# od Microsoftu spoléhá na rozhraní příkazového řádku pro knihovnu a podporu za běhu, jiné implementace jazyka C# nemusí, pokud podporují funkce a rozhraní API vyžadované tímto standardem C# (viz příloha C).
Při vývoji definice jazyka C# byly cíle použité v návrhu následující:
- Jazyk C# je určen jako jednoduchý, moderní, obecný programovací jazyk orientovaný na objekty.
- Jazyk a jejich implementace by měly poskytovat podporu pro principy softwarového inženýrství, jako je kontrola silného typu, kontrola maticových hranic, detekce pokusů o použití neinicializovaných proměnných a automatické uvolňování paměti. Důležitá je odolnost softwaru, odolnost a produktivita programátorů.
- Jazyk je určený pro vývoj softwarových komponent vhodných pro nasazení v distribuovaných prostředích.
- Přenositelnost zdrojového kódu je velmi důležitá, stejně jako přenositelnost programátorů, zejména pro ty programátory, kteří už jsou obeznámeni s C a C++.
- Podpora internacionalizace je velmi důležitá.
- Jazyk C# je vhodný pro psaní aplikací pro hostované i vložené systémy, od velmi velkých, které používají sofistikované operační systémy, až po velmi malé s vyhrazenými funkcemi.
- I když jsou aplikace jazyka C# ekonomické, pokud jde o požadavky na paměť a výpočetní výkon, jazyk nebyl určen k přímému soupeření o výkon a velikost jazyka C nebo sestavení.
Název C# se vyslovuje "C Sharp".
Název C# se zapíše jako VELKÉ PÍSMENO LATINKY C (U+0043) následované znakem ČÍSLO # (U+0023).
ECMA C# draft specification