You are on page 1of 8

C Sharp (programming

language)
C# is an object-oriented
programming language developed
by Microsoft as part of the .NET
initiative and later approved as a
standard by ECMA and ISO .
Anders Hejlsberg leads
development of the C# language,
which has a procedural, object-
oriented syntax based on C++ and
includes influences from aspects of
several other programming
languages (most notably Delphi
and Java) with a particular
emphasis on simplification.
History
During the development of .NET,
the class libraries were originally
written in a language called Simple
Managed C (SMC). In January
1999, Anders Hejlsberg formed a
team to build a new language at
that time called Cool, later the
language had been renamed C# and
the class libraries and ASP.NET
runtime had been ported to C#.
C#'s principal designer and lead
architect at Microsoft is Anders
Hejlsberg, who was 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 (e.g. C++, Java, Delphi,
and Smalltalk) drove the
fundamentals of CLR, which, in
turn, drove the design of C#
programming language itself.
Design goals
The ECMA standard lists these
design goals for C#:
• It is intended to be a simple,
modern, general-purpose &
object-oriented programming
language.
• The language should include
strong type checking, array
bounds checking, detection of
attempts to use uninitialized
variables, source code
portability, and automatic
garbage collection.
• The language is intended for use
in developing software
components that can take
advantage of distributed
environments.
• Programmer portability is very
important, 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.
Versions
1.0, 1.5, 2.0 (ECMA), 3.0
C# 3.0 is not currently standardized
by any standards organization, but
it is expected that it will also
become an ECMA and then ISO
standard, as its early versions.
Features of C# 2.0
• Partial classes which allow class
implementation across more
than one source file.
• Generics or parameterized types.
• Static classes that cannot be
instantiated, and that only allows
static members.
• Anonymous delegates.
• The accessibility of property
accessors can be set
independently.
• Nullable value types which
provides improved interaction
with SQL databases.
• Coalesce operator (??) 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 and
Collection initializers.
• Anonymous types.
• Implicitly-typed arrays.
• Lambda expressions.
• Automatic properties.
• Extension methods
• Partial methods.

Criticism
Performance
C# programs, like all programs
written for the .NET and other
virtual machine environments
such as Java, tend to require
more system resources than
functionally similar applications
that access machine resources
more directly.

Platform
Microsoft's current .NET
implementation is only available
on Windows.

You might also like