Delen via


Inleiding

Deze specificatie is gebaseerd op een inzending van Hewlett-Packard, Intel en Microsoft, die een taal heeft beschreven met de naam C#, die is ontwikkeld binnen Microsoft. De belangrijkste uitvinders van deze taal waren Anders Hejlsberg, Scott Wiltamuth en Peter Golde. De eerste gedistribueerde implementatie van C# is in juli 2000 uitgebracht door Microsoft, als onderdeel van het .NET Framework-initiatief.

Ecma Technical Committee 39 (TC39) [later hernoemd in TC49] Task Group 2 (TG2) werd opgericht in september 2000, om een standaard voor C# te produceren. Een andere taakgroep, TG3, werd op dat moment ook gevormd om een standaard te produceren voor een bibliotheek en uitvoeringsomgeving met de naam Common Language Infrastructure (CLI). (CLI is gebaseerd op een subset van .NET Framework.) Hoewel de implementatie van C# van Microsoft afhankelijk is van CLI voor bibliotheek- en runtime-ondersteuning, hoeven andere implementaties van C# niet te worden gebruikt, mits deze ondersteuning bieden voor de functies en API die vereist zijn voor deze C#-standaard (zie bijlage C).

Naarmate de definitie van C# zich ontwikkelde, waren de doelstellingen die in het ontwerp werden gebruikt als volgt:

  • C# is bedoeld als een eenvoudige, moderne, algemene, objectgeoriënteerde programmeertaal.
  • De taal en implementaties daarvan moeten ondersteuning bieden voor software-engineeringprincipes, zoals sterke typecontrole, matrixgrenzencontrole, detectie van pogingen om niet-geïnitialiseerde variabelen te gebruiken en automatische garbagecollection. Software robuustheid, duurzaamheid en productiviteit van programmeurs zijn belangrijk.
  • De taal is bedoeld voor het ontwikkelen van softwareonderdelen die geschikt zijn voor implementatie in gedistribueerde omgevingen.
  • De draagbaarheid van broncodes is erg belangrijk, net als programmeurs die al bekend zijn met C en C++.
  • Ondersteuning voor internationalisering is erg belangrijk.
  • C# is bedoeld om geschikt te zijn voor het schrijven van toepassingen voor zowel gehoste als ingesloten systemen, variërend van de zeer grote die geavanceerde besturingssystemen gebruiken, tot de zeer kleine toegewezen functies.
  • Hoewel C#-toepassingen zijn bedoeld om economisch te zijn met betrekking tot geheugen- en verwerkingskrachtvereisten, was de taal niet bedoeld om rechtstreeks te concurreren op prestaties en grootte met C of assemblytaal.

De naam C# wordt uitgesproken als 'C Sharp'.

De naam C# wordt geschreven als de LATIJNSE HOOFDLETTER C (U+0043), gevolgd door het NUMMERTEKEN # (U+0023).