C++ vs C#

Joined
2/21/10
Messages
50
Points
18
Why do recruiters ever prefer C++ over C#? As I read most of job requirements in this field C++ is being required in the vast majority of these cases. Can I replace C++ by knowing C#? Or it cannot be altered. Actually what I'm asking is if I can send the application to a job requiring C++ when I know C# not C++?


Thanks
 
My 2 cents: No.

To give an answer from my own background:

A C++ developer will learn C# pretty fast.

Let's take one scenario: A C# (or Java) developer who does not know C or how the compiler works (or has forgotten) will have a challenge moving to C++. It's a completely different world.

I think C++ and C# are both great. Here is a blog on C++ versus C# from a few years back.

http://www.wilmott.com/blogs/cuchulainn/index.cfm/BK

If they state C++, then it's C++!

hth
 
Second that opinion. C++ is a totally different beast. C# and Java are somewhat similar and let you skate free. C++ gives you enough rope to hang yourself and you will do it quickly if you are not careful.

If a job expects you to know C++ and you send your resume saying you know C#, the employers know you won't be able to convert quickly. However, if they ask for C# and you say you know C++ really well, they will know you will have very little difficulty learning C# and be productive real fast.
 
As a recruiter I look for C++ for several reasons:

0: Employers ask for C++ more than C#, and a lot more than Java.

1: It is evidence that you're smart. C++ is harder than C#

2: It is evidence that you've had a better education, people who do weaker courses do weaker languages, on average.

3: It shows you are a member of the set of people who do things to computers, more than someone who computers do things to. As Daniel rightly says, C++ allows you to hurt yourself badly which is good if you aren't broken by it.

4: C++ is the code they have most of their important work in.

5: C++ is a richer framework in which to express your ideas in code. Fully understand C++ and you understand very nearly everything in Java, C# , VBA et al.

Some employers will accept C# rather than C++, in fact some C# employers ask for C++ when they actually want C#, because on average C++ programmers are so much better clued up. I've even had that for Python developers.






2:
 
C# and Java are somewhat similar and let you skate free. C++ gives you enough rope to hang yourself and you will do it quickly if you are not careful.

Though one should add that you can hang yourself in C# as well by using unsafe code. Generally, though, you are right: the managed code of Java and C# means you skate free.
 
I don't strongly agree with the statement that "You should first learn C++ and then C#, since C++ is more complex and you will have a quick way while learning C# after".

C++ is more complex

Well, Thats true C++ is much more complex and if you understand the programming constructs of C++ thats very good and it'll definitely help you in learning all C-based languages (and not only those). But the fact is that in C# everything is simple-made. Many C++ techniques which could be verbose to construct are already made in C#(including libraries added). So when learning C# first and then going to C++ makes you see the need of what you have already learned there while reading or applying C++ code. Backward moving is not justified in general but still, in programming it can also be beneficial in some sense although I'm not fully sure.
 
When moving from C# to C++ you quickly realise what you still have to learn..Example: the use of 'const' in C++.

C# prepares you for the easy things. The others must be learned from scratch.

Of course, knowing C# without having learned C++ is much better than not knowing C#.

It is generally agreed that developer productivity in C# == 4 * C++.
 
Back
Top Bottom