Get Educated: C# language 5.0 Specifications
Very often,Developers ask me to write something about C# Language Specifications and I always ask them to refer Microsoft Download center. I think this is a pretty easy act as C# Language Specifications document contains more than 500 pages which provides a complete description of C# language 5.0.
This is not an original post but really required to get the developers, educated. To motivate the users, please read the few points from the chapter ‘Introduction’ below and for rest of the chapters , download the document from http://www.microsoft.com/en-in/download/details.aspx?id=7029
- C# (pronounced “See Sharp”) is a simple, modern, object-oriented, and type-safe programming language.
- C# is an object-oriented language, but C# further includes support for component-oriented programming making C# a very natural language in which to create and use software components.
- Several C# features aid in the construction of robust and durable applications:
- Garbage collection automatically reclaims memory occupied by unused objects;
- Exception handling provides a structured and extensible approach to error detection and recovery;
- and the type-safe design of the language makes it impossible to read from uninitialized variables, to index arrays beyond their bounds, or to perform unchecked type casts.
- C# has a unified type system. All C# types, including primitive types such as int and double, inherit from a single root object type.
- C# supports both user-defined reference types and value types, allowing dynamic allocation of objects as well as in-line storage of lightweight structures.
- versioning in C#’s design is done to ensure that C# programs and libraries can evolve over time.
- Aspects of C#’s design that were directly influenced by versioning considerations include the separate virtual and override modifiers, the rules for method overload resolution, and support for explicit interface member declarations.