Thursday, March 27, 2008

Definition of C#

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 important.
• 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 functions.
• Although C# applications are intended to be economical with regard to memory and processing powerrequirements, the language was not intended to compete directly on performance and size with C or assembly language.

This International Standard specifies the form and establishes the interpretation of programs written in the C# programming language.
It specifies:
-> The representation of C# programs;
-> The syntax and constraints of the C# language;
-> The semantic rules for interpreting C# programs;
-> The restrictions and limits imposed by a conforming implementation of C#.

ECMA (European Computer Manufacturers Association ) will be responsible for the International Standard specification of the C# Language.

No comments: