What is it?
The October 2008 quarterly report by Salary Services Limited
(SSL) found that C# and .net were holding their own against a
background of falling demand. C# is now the third most in-demand
skill. But while long-term leaders SQL and C have fallen by 5.9%
and 7.6% respectively, C# was down just 0.2% and .net skills
generally by 0.5%.
The skills that have suffered the heaviest collapses in demand
include some that require huge investment in training. By contrast,
you can build your own training portfolio for C# using free
resources from Microsoft, third parties and community sites.
If it comes to getting certified, of course, you will have to
pay Microsoft fees. But C# is increasingly used in places that are
not primarily Microsoft houses, where certification may not be an
issue. The Mono project, an open source version of .net, has a
runtime environment, which enables C# to run on Linux. Linux use,
bucking the trend, is increasing, according to SSL.
In the middle years of this decade, the great debate was whether
Visual Basic 6 developers would move to VB.net - a significantly
different language - or change to C#. Since then, VB has suffered
steep declines: it dropped out of the SSL top 10 in 2005.
Where did it originate?
C# development was led by Anders Hejlsberg, one of the
architects of Visual J++, Borland Delphi and Turbo Pascal. Although
Microsoft and its partners set the direction for C#, the standard
is maintained by ECMA, the European Computer Manufacturers
Association, which also looks after the standards for JScript and
JavaScript. Microsoft's partners in submitting the original
specification were Hewlett-Packard and Intel. Participants in later
versions include IBM, Sun and Novell.
C# is also an ISO standard language, like Cobol. The current
version, C# 3.0, is not yet an ECMA or ISO standard.
What's it for?
Microsoft launched 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." As well as suitability for
developing software components in distributed environments, 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".
What makes it special?
ECMA's involvement guarantees the continued independence of the
language from Microsoft's proprietary control. However, not all
features supported by the .net common language infrastructure (CLI)
will necessarily be available, as the ECMA C# specification
explains: "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."
How difficult is it to master?
C#'s stated portability goals apply not just to code, but also
to programmers, especially those already familiar with C and C++.
Java developers will also feel reasonably at home.
What's coming up?
C# 3.0 was released late in 2007 along with .net 3.5.
Rates of pay
From £30K.
Training
A free version of Microsoft's C# integrated development
environment, Visual C# Express, can be downloaded from
http://msdn2.microsoft.com/en-gb/express/aa700756.aspx,
where you will also find the Beginner Developer Learning Center.
See also
Getting
Started with C#. There are plenty of independent and
third-party sites offering tutorials and resources, and a whole
publishing industry based on C#.