Einführung
Diese Spezifikation basiert auf einer Übermittlung von Hewlett-Packard, Intel und Microsoft, die eine Sprache namens C# beschrieben hat, die in Microsoft entwickelt wurde. Die Wichtigsten Erfinder dieser Sprache waren Anders Hejlsberg, Scott Wiltamuth und Peter Golde. Die erste weit verbreitete Implementierung von C# wurde im Juli 2000 von Microsoft als Teil der .NET Framework-Initiative veröffentlicht.
Ecma Technical Committee 39 (TC39) [später umbenannt in TC49] Task Group 2 (TG2) wurde im September 2000 gegründet, um einen Standard für C# zu erzeugen. Eine weitere Task Group, TG3, wurde damals auch gegründet, um einen Standard für eine Bibliotheks- und Ausführungsumgebung namens Common Language Infrastructure (CLI) zu erzeugen. (CLI basiert auf einer Teilmenge von .NET Framework.) Obwohl die Implementierung von C# von Microsoft auf CLI für Bibliotheks- und Laufzeitunterstützung basiert, müssen andere Implementierungen von C# nicht unterstützt werden, vorausgesetzt, sie unterstützen die Features und API, die von diesem C#-Standard erforderlich sind (siehe Anhang C).
Da sich die Definition von C# weiterentwickelt hat, waren die im Design verwendeten Ziele wie folgt:
- C# ist eine einfache, moderne, allgemeine, objektorientierte Programmiersprache.
- Die Sprache und implementierungen davon sollten Unterstützung für Software-Engineering-Prinzipien wie starke Typüberprüfung, Array-Begrenzungsüberprüfung, Erkennung von Versuchen zur Verwendung nicht initialisierter Variablen und automatische Garbage Collection bieten. Software-Robustität, Haltbarkeit und Programmiererproduktivität sind wichtig.
- Die Sprache ist für die Entwicklung von Softwarekomponenten vorgesehen, die für die Bereitstellung in verteilten Umgebungen geeignet sind.
- Die Quellcodeübertragbarkeit ist sehr wichtig, wie die Programmierübertragbarkeit, insbesondere für programmierer, die bereits mit C und C++ vertraut sind.
- Die Internationalisierung ist sehr wichtig.
- C# ist für das Schreiben von Anwendungen sowohl für gehostete als auch für eingebettete Systeme geeignet, von der sehr großen, die anspruchsvolle Betriebssysteme verwenden, bis hin zu den sehr kleinen, die dedizierte Funktionen haben.
- Obwohl C#-Anwendungen im Hinblick auf Speicher- und Verarbeitungsleistungsanforderungen wirtschaftlich sein sollen, sollte die Sprache nicht direkt mit der Leistung und Größe mit C oder Assemblysprache konkurrieren.
Der Name C# lautet "C Sharp".
Der Name C# wird als LATEINISCHER GROßBUCHSTABE C (U+0043) gefolgt von der ZAHLZEICHEN #(U+0023) geschrieben.
ECMA C# draft specification