Hot skills: C# is number 42 in the CW/SSP list of top IT skills
The sharper option for the web?
What is it?
C# is one of Microsoft's .net technologies for building and
deploying web services. It is related to both Java and C++
although, despite its name, it is generally considered to be
closest to Java.
Like the earlier languages it is object-orientated, but unlike them
it was designed from the outset to support component-based
development. It is fully optimised for the web.
Usually when Microsoft brands a language, it makes it more
proprietary (such as Visual C++ or Visual Basic), yet C# has been
made more open.
A beta version was initially posted for comment and input from the
entire developer community (playing Linux at its own game), and
then C# was submitted to standards body the European Computer
Manufacturers Association, before being passed to the International
Standards Organisation.
There is even potential for versions of C# for non-Microsoft
platforms.
C# is often described as a Java-killer, and Microsoft's submission
to the ECMA and the ISO is viewed by some as a gesture to highlight
Sun's refusal to hand Java over to a standards body, rather than
Microsoft relinquishing any real control over the language.
Where did it originate?
Rumours of a new language, Cool, began to circulate in the late
1990s. Microsoft had fallen out with Sun over the locked-in nature
of its Java implementation and needed an alternative.
The specification for C# was released in 2000. The ECMA ratified it
as an international standard in December 2001.
What is it for?
C# is designed to combine the ease of use and rapid development of
Visual Basic with the low-level coding capability of C and
C++.
It can make use of existing resources, such as Visual Basic and
Visual C++ class libraries and Com objects. According to Microsoft,
it is suitable for developing a wide range of components, from
high-level business objects to system-level applications.
What makes it special?
Components developed in C# can be converted into XML web services,
which should allow them to be invoked across the internet from any
language running on any operating system.
How difficult is it?
C and C++ developers will find much that is familiar, but it is
Java people whom Microsoft really wants to capture.
However, the apparent similarities with Java and other C languages
can lead to pitfalls. For example, see Ten Top Traps in C# for C++
Programmers
(www.ondotnet.com/topics/dotnet/csharp.net),
where you will also find comparisons with Java.
Where is it used?
While demand for C++ and Java fell by 75% in 2002, job adverts
requiring C# rose by 59% (although from a low base), making it the
fastest growing skill in the Computer Weekly/SSP survey of
employment trends' top 50 most in-demand skills.
Microsoft users and application suppliers are now gearing up for
.net.
What does it run on?
Mostly it runs on Microsoft's own platforms. However, the Mono
project from Ximian aims to create a version of .net, including C#,
for Linux.
Not many people know that...
You do not have to buy Visual Studio .net to get C#. You can
download the .net framework software developer's kit for
free.
Don't confuse...
The sharp symbol with a hash mark. Would you want to work with a
language called C Hash?
What is coming up?
Borland (the supplier of Delphi) is building a suite of C# and.net
tools that will offer alternatives to Microsoft.
Training
You can go the Microsoft authorised training partner route, but
there is also a mass of free C# tutorials on the web. Check
out:
Jobs and money
With one year's C# experience you can expect a salary of between
£35,000 and £40,000. The skill is in such short supply that
employers are offering to cross-train people from Visual Basic,
C++, Java and even Delphi backgrounds.