Is it worth learning C#?

Associate
Joined
14 Apr 2008
Posts
1,230
Location
Manchester
Recently i've been idling through the job ads just to see what is available and there seems to be a high demand for C# developers - although many of the ads mention that C++ experience is a 'bonus'

Now, as a hardcore C++ developer does this mean it will be easier to get a job - these companies really want C++ devs but don't think there are any/can get any or is C# really that popular?

Don't get me wrong, i can mangle my way through it no problem, but is it worth learning properly to take advantages of any features the language can offer (Personally me and managed code don't get on but that's another story)

Any suggestions?
 
If they are advertising for a C# role then the job will be C#.

C++ is more challenging / low level (have to do your own memory management etc) so if you have experience in that, you might be mroe able at doing unmanaged / low level calls which might be useful...

More and more companies are going to be use it, as .Net is Microsofts new direction. Unless you are into games / embedded stuff, it will be well worth learning imo.
 
I've recently had to learn C# for my job, and it's much much better than C++ (for what I do) purely because practically everything I need is already built into the language, whereas C++ requires me to write lots myself.

Not to mention converting between different types isn't a complete pain like in C :p.
 
Probably best i pick up a book on C# then, it can't hurt at least. I have a C++ dev job already but it's good to keep the skill set sharp.

The problem i find with these languages is that it's never quite how i need it to be, so i end up re-writing it anyway - or it's buggy, i've found a few bugs now in code and libraries that i've had to code my way around - both commercial paid for stuff (including MS) as well as public licence stuff.
 
If your good at C++ and understand OO then learning C# should be fairly trivial, I had to do it and it took me about a day to learn what I needed to learn in terms of essential knowledge, the rest is just learning by doing!
 
The one problem you will experience is that after a couple weeks writing programs with C#... you will start to realise that C++ is a bit 20th century and you will start to dislike going back to it.

Eventually there will come a cross over point where you actually start to use C# so much that your C++ knowledge starts to wane and you become "rusty".

I can say this because I am now officially a "rusty" C++ programmer :p C# converted me.
 
Hell yeah - it's a far more consistent language to work with

If you use Visual Studio, then IntelliSense support is also massively better since it's not hitting a brick wall of C++ parsing gotchas.
 
Last edited:
Learning C# from a C++ background is trivial, learning the .NET framework will take a bit more effort.
 
Have only dabbled myself with very little production code however my experience was of a very well thought out and clear language, it along with the .Net framework in general are doing a lot very well and keep improving.

On the professional side of things C# was one of the most in demand technical skills over the last couple of years with developers always in demand and commanding relatively high contract rates (although this is going back over 6 months, no idea how the current economic situation has affected rates).
 
I think i will learn to use the facilities of .NET and C# - anyone can code a simple app with a few buttons and text boxes but i'd like my .NET and C# to be on a par with my C++ where i'm perfectly comfortable with multi-threading, template classes etc, so in that sense i'd want to take advantage of what .NET brings to the table.

As for jobs-wise, a quick search on one of the jobs sites says that there's nearly 500 jobs listed referencing C# in the title and around 360 on C++ (obviously some of these are the same). Salaries range from £18k all the way to £150k, there does seem to be more of a demand for team leaders/senior engineers/design engineers than there does for juniors and whatnot though.

Most of the listings stating 'Software Engineer' (which is my current job title) seem to offer salaries of £30-35k.

Anyway, learning C# will add to the skill set nicely i think, it certainly can't do any harm.
 
Back
Top Bottom