HPやIntelと共にMicrosoftが2000年、ECMAにC#を提供したとき、これまでの歴史を打ち破るような出来事であった。そのときまで、 Microsoftによって開発されたすべてのプログラミング言語は、社内のみで制御されていた。ドキュメンテーションは確かに提供されたが、一般大衆は 詳細を得ることは決してなく、独自のコンパイラの記述は言うまでもなく、言語の隅々まで研究するさえできなかった。
スタンダードであることの残念な副作用は、そのように記述されていることである。しばしばスタンダードには、コンパイラは要求されていないことをす る場合があると書いてある。これは概念レベルでは良いが、実際にMicrosoft C#コンパイラがすることを必要以上に難しくする。
このことはJagger氏、Perry氏およびSestoft氏による書物が説明している。C# 2.0スタンダードを取り上げ、空所を埋める。この本は、どのようにMicrosoftがC#コンパイラを実装する選択をするのかに関する詳細情報が盛り 込まれている。また、考えようによっては時代遅れだが、MonoのC#コンパイラに関する同様の情報が含まれている。
この本の真価は、その強みについての解説にある。たとえば、スタンダードにはFGABの問題に関するセクションが含まれる。具体的には、if F(G
この書籍について、クレームがある場合、非常に無味乾燥でテクニカルなものになる傾向にある。どのようにして言語が生まれるのかに関して多くの背景情報が含まれているが、Framework Design Guidelinesにあるような対話レベルではない。
Jon Jagger氏、Nigel Perry氏およびPeter Sestoft氏によるAnnotated C# Standard(リンク)は現在出版されており、Google Book Search(リンク)でも入手できる。