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# 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
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#.