What is it?
C# is an object oriented programming language released by
Microsoft in 2001 as part of the
.net initiative. The language has object oriented syntax based
on C++, with an
emphasis on simplification.
In 2005, analyst firm Gartner said, "Migrating developer skills
from
Visual Basic 6 to C# will require a substantial investment of
time and money." Gartner has recommended that organisations allow
nine months for this move.
When it was launched, C# represented a departure for Microsoft,
in that it would be maintained by an external standards body, the
European Computer Manufacturers Association (ECMA).
Despite the involvement of the user community, Microsoft and its
partners still set the direction for the language, which is
inextricably bound to the .net platform and the Common Language
Infrastructure.
A new addition to C# and Visual Basic in the forthcoming
Visual Studio 2008 will be Language Integrated Query (Linq), a
SQL-like language for querying SQL, XML and other data.
Where did it originate?
Development of C# is led by
Anders
Hejlsberg, previously involved in the design of Visual J++,
Borland Delphi and Turbo Pascal. Although the syntax was based on
C++, some have noted a similarity to Java. Seven years on, and with
C# 3.0 imminent, C# champions accuse Java of copying features of
C#.
What's it for?
In June 2000, Microsoft described C# as "a modern, object
oriented programming language built from the ground up to exploit
the power of XML-based web services on the .net platform".
The ECMA said C# should be "simple" and "general-purpose". It is
intended for use in developing software components that can take
advantage of distributed environments, and it is suitable for
writing applications for both hosted and embedded systems.
"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," said the ECMA.
Linq adds a native language query syntax to C# and Visual Basic,
and provides class libraries to take advantage of these
capabilities.
What makes it special?
C# is not only integral to the .net environment, it is widely
used outside it.
How difficult is it to master?
Microsoft intended the migration from C and C++ to C# to be
easy. The syntax should be reasonably familiar to C++ developers,
and to a lesser extent to Java users.
A free version of Microsoft's C# integrated development
environment, Visual C# Express, is available on Microsoft's
website. Linq's syntax is generally similar to SQL, making the
transition relatively simple.
What systems does it run on?
Windows. Implementations of C# and other .net technologies for
Linux and other operating systems include DotGnu, Novell and the
Mono project.
What's coming up?
C# 3.0 was previewed in 2005, and marks a move towards
functional programming. A beta of Visual Studio 2008 is available
free of charge from Microsoft's website.