Since its introduction in February 2001, a number of developers have begun building software using the C# programming language. Even within Microsoft, C# has been used to build several shipping applications, including the .NET Framework, MSN Web properties, and the Tablet PC SDK. As such, C# has proven itself as a language suitable for the construction of high-quality commercial software.
Many of the features in the C# language were created with four different design goals in mind:
A unified type system and simplifying the way that value and reference types are used by the language.
A component-based design established through features such as XML comments, attributes, properties, events and delegates.
Practical developer headroom established through the unique capabilities of the C# language, including safe pointer manipulation, overflow checking, and more.
Pragmatic language constructs, such as the foreach and using statements, which improve developer productivity.
In the "Visual Studio for Yukon" version of the C# language, Microsoft plans to build on an already elegant and expressive syntax by incorporating a variety of features across a broad spectrum of research and industry languages. Included among these language features are generics, iterators, anonymous methods and partial types.
Potential Future Features
Indeed, it is on the pillars of a unified type system, component-based development, developer headroom, and pragmatic language constructs that future innovation in C# is based. The following summarizes four key new features that Microsoft is planning on delivering in the next major version of the C# language. The design of these features has not yet been finalized and the Microsoft Corporation invites comment on them from the developer community.