C# 2.0: Enriching the Core Language Features
Shipping a first release of a brand new platform and language was key to getting the ball rolling, so sometimes decisions had to be made to cut certain features during the development of this first release. The second release of the .NET Framework allowed the opportunity to catch up with the things the design teams wanted to do but hadn’t gotten a chance to in the first release.
Note: Backward Compatibility Matters
Making sure that code written using a previous release of the language doesn’t compile anymore—or worse, starts behaving differently—is an essential design criterion when evolving the language.
C# is strict about this and aims to keep new releases of the language 100% compatible with older ...