C Sharp programming language:
It is an Object-Oriented and
Platform Independent programming
language developed by Microsoft
as part of the .NET initiative and
approved as a standard by ECMA
and ISO.
Anders
Hejlsberg
leads
development of the language,
which has procedural, objectoriented syntax based on C++ and
includes influences from several
other programming languages most
importantly Delphi and Java with a
particular
emphasis
on
simplification.
History of the language
During development of .NET,
the libraries were originally written
in a language called Simple
Managed C (SMC) and later the
language had been renamed C#.
C#'s principal designer and lead
architect Anders Hejlsberg, has
previously involved with the design
of Visual J++, Borland Delphi, and
Turbo Pascal languages.
In interviews and technical
papers he has stated that flaws in
most
major
programming
languages like C++, Java, Delphi,
and Smalltalk drove the design of
C# programming language.
Design goals of C#:
The ECMA standards list these
design goals for C#:
It is intended to be a simple,
modern, general-purpose and
object-oriented
programming
language.
The language includes strong
type checking, array bounds
checking, code portability and
Automatic
memory
management.
Programmer portability is very
important in software industry,
so
especially
for
those
programmers already familiar
with C and C++, C# will be the
best choice.
Support for Internationalization.
CSharp is suitable for writing
applications
to
distributed,
hosted
and
embedded
applications.
Versions of CSharp Language:
1.0, 1.5, 2.0, 3.0, 4.0, 5.0
Features of C# 2.0
Partial classes.
Generics or parameterized types.
Static classes.
Anonymous delegates.
The accessibility of property
accessors
can
be
set
independently.
Nullable value types.
Coalesce operator (??) that
returns the first of its operands
which is not null or null, if no
such operand exists.
Features of C# 3.0
Language Integrated Query.
Object initializers & Collection
initializers.
Anonymous types.
Implicitly-typed local arrays and
variables.
Lambda expressions.
Automatic properties.
Extension methods.
Partial methods.
Features of C# 4.0
Dynamic programming &
Lookups.
Named and optional
parameters.
Co-variance & Contra-
variance.
Indexed properties.
COM specific interop features.
Features of C# 5.0
Support for parameterized
constructors in Generics.
Support for Weak Delegates or
Weak Events.
Better treatment for Null.
Smart Case support.