C# Language Specification

Peter Kitson

ISBN : -

Order a printed copy of this book from Amazon --UNAVAILABLE--

Cover Design - C# Language Specification

For your free electronic copy of this book please verify the numbers below. 

(We need to do this to make sure you're a person and not a malicious script)



Sample Chapter From C# Language Specification
     Copyright © ECMA


This International Standard is based on a submission from Hewlett-Packard, Intel, and Microsoft, that
describes a language called C#, which was developed within Microsoft. The principal inventors of this
language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first widely distributed
implementation of C# was released by Microsoft in July 2000, as part of its .NET Framework initiative.

ECMA Technical Committee 39 (TC39) Task Group 2 (TG2) was formed in September 2000, to produce a
standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library
and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the
.NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and runtime
support, other implementations of C# need not, provided they support an alternate way of getting at the
minimum CLI features required by this C# standard.

As the definition of C# evolved, the goals used in its design were as follows:
• C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
• The language, and implementations thereof, should provide support for software engineering principles
such as strong type checking, array bounds checking, detection of attempts to use uninitialized variables,
and automatic garbage collection. Software robustness, durability, and programmer productivity are
• The language is intended for use in developing software components suitable for deployment in
distributed environments.
• Source code portability is very important, as is programmer portability, especially for those
programmers already familiar with C and C++.
• Support for internationalization is very important.
• C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging
from the very large that use sophisticated operating systems, down to the very small having dedicated
• Although C# applications are intended to be economical with regards to memory and processing power
requirements, the language was not intended to compete directly on performance and size with C or
assembly language.