はじめに
この仕様は、Microsoft 内で開発された C# と呼ばれる言語を記述した Hewlett-Packard、Intel、および Microsoft からの提出に基づいています。 この言語の主な発明者は、Anders Hejlsberg、Scott Wiltamuth、Peter Golde でした。 C# の最初の広く配布された実装は、.NET Framework イニシアチブの一環として、2000 年 7 月に Microsoft によってリリースされました。
Ecma 技術委員会 39 (TC39) [後に TC49 に名称変更] タスク グループ 2 (TG2) は、C# の標準を生成するために 2000 年 9 月に形成されました。 また、その時点で、共通言語基盤 (CLI) と呼ばれるライブラリと実行環境の標準を作成するために、もう 1 つのタスク グループ TG3 も形成されました。 (CLI は .NET Framework のサブセットに基づいています)。Microsoft の C# の実装では、ライブラリとランタイムのサポートに CLI を使用していますが、C# の他の実装では、この C# 標準で必要な機能と API がサポートされている場合は必要ありません ( Annex C を参照)。
C# の定義が進化するにつれて、その設計で使用される目標は次のようになります。
- C# は、シンプルでモダンで汎用のオブジェクト指向プログラミング言語を意図しています。
- 言語とその実装では、厳密な型チェック、配列の境界チェック、初期化されていない変数の使用試行の検出、自動ガベージ コレクションなどのソフトウェア エンジニアリングの原則をサポートする必要があります。 ソフトウェアの堅牢性、耐久性、プログラマの生産性が重要です。
- この言語は、分散環境での展開に適したソフトウェア コンポーネントの開発に使用することを目的としています。
- ソース コードの移植性は非常に重要です。プログラマの移植性は非常に重要です。特に、C と C++ に既に精通しているプログラマにとっては重要です。
- 国際化のサポートは非常に重要です。
- C# は、高度なオペレーティング システムを使用する非常に大規模なものから、専用機能を持つ非常に小さいものまで、ホストされたシステムと組み込みシステムの両方のアプリケーションを記述するのに適しています。
- C# アプリケーションはメモリと処理能力の要件に関して経済的であることを意図していますが、この言語は C 言語またはアセンブリ言語と直接パフォーマンスとサイズを競合させるものではありません。
C# という名前は "C Sharp" と発音されます。
C# という名前は、ラテン大文字 C (U+0043) の後に NUMBER SIGN # (U+0023) が続きます。
ECMA C# draft specification