20 Replies - 11967 Views - Last Post: 17 May 2009 - 10:18 AM

Is it useless learning C# rather than C++?

Posted 31 March 2009 - 08:20 AM

First and foremost, this isn't just another "C++ is better than C#" or vice versa thread. Here, I'm not referring to the syntax, API, speed, power, or anything to do with the languages themselves - rather, the amount of jobs that require one or the other.

However, even though I'm not currently looking for a job, C++ is clearly far more dominant in the industry than C#. So my question is this: Am I wasting time learning C#, when I could be learning C++ and opening up a vast number more job opportunities?

It's a struggle to find anywhere (Dev sites, job search sites, SourceForge projects, etc) that recommends/requires a knowledge of C#. Even in those that are C#, it's quite often as an added 'extra' to knowing C++.

To me, it seems as if it's wishful thinking to believe it's possible to get anywhere with C# career-wise, as everywhere I look, if you don't know C++, then the number of developer jobs seems to decline to 0.

So, to repeat my question: Am I wasting time learning C#, when I could be learning C++ and opening up a vast number more job opportunities?

Replies To: Is it useless learning C# rather than C++?

Re: Is it useless learning C# rather than C++?

Posted 31 March 2009 - 08:37 AM

Crehl, on 31 Mar, 2009 - 06:20 AM, said:

To me, it seems as if it's wishful thinking to believe it's possible to get anywhere with C# career-wise, as everywhere I look, if you don't know C++, then the number of developer jobs seems to decline to 0.

I'm not sure where you live but C# jobs are very prevalent in most areas I've seen. I don't think C# will ever overtake C++ but it is one of the fastest growing markets out there, so I'm not sure where you're getting your information from.

It is definitely not a waste of time learning C#, not by a long shot. In the area I live there isnt a single C++ job available, but many C# jobs are open at the moment.

Re: Is it useless learning C# rather than C++?

Posted 31 March 2009 - 02:35 PM

Also, if you learn C#, then if you ever need to learn C++, it'll be a breeze. The syntax in the two languages are so similar, that learning C++ after knowing C# should be easy. Learn C# now, and if you ever need to, you can learn C++.

Re: Is it useless learning C# rather than C++?

Posted 31 March 2009 - 03:06 PM

I'm assuming the translation here is "Useless" equals "Won't get me a job".

In language popularity, C++ has a long history. It's a good language to know. For a commercial game designer, it makes a lot of sense. However, there's a whole lot of people out there with a whole lot more experience than a C++ newbie. It also has a pretty steep curve to competence compared to other languages.

C#, on the other hand, is a new kid on the block. The Microsoft Java stepchild. It also comes with a whole lot of other Microsoft goodness, like ASP.NET and Visual Studio. A more novice programmer is likely to be on a more even footing with C# than C++.

The fact is, you will rarely find a job opening for just one language. A suite of skills is usually preferred. The C++ may be bundled with a bunch of stuff you've never heard of. A C++ programmer with often be expected to know a number of libraries that are vast and offer challenges of their own. C#, on the other hand, with usually come with the same group of things, all VS.NET stuff; all in the same IDE.

For a new programmer, I'd recommend C# over C++ for job prospects. However, why not learn them both? Every computer language will teach you something a little different.

If you're just looking to learn a computer language strictly for the job prospects, please find another career path. I've seen enough paycheck programmers and they all suck.

Re: Is it useless learning C# rather than C++?

Posted 31 March 2009 - 07:22 PM

C#/.Net is a pretty rapid development platform easy to get the code done and the product out there. This will always be very popular in the world of software development. So C# is FAR from a useless technology unless Microsoft tanks (hey... it could happen... many giants have fallen).

Even if Microsoft tanked though, C# (as a language) has made quite an impact and it will probably live past its creators.

However it is nice to see a thread that is not centered on the idea that C++ is dieing.

Re: Is it useless learning C# rather than C++?

I've been thrown out already I wasn't entirely sure which category it would fit into, so thanks.

programble, on 31 Mar, 2009 - 01:35 PM, said:

Also, if you learn C#, then if you ever need to learn C++, it'll be a breeze. The syntax in the two languages are so similar, that learning C++ after knowing C# should be easy. Learn C# now, and if you ever need to, you can learn C++.

This is a problem I'm facing however - I still can't get my head around C++. I've been casually learning C# for a few years, and C++ is still just as scary. I don't understand it, possibly because I'm too dug in to the .NET API. atoi()? I'd much rather use int.Parse(). Not only does it make more sense to me to have the method as part of the int class - Keeping related methods together - but because if I ever forget it (Ok, this is too basic an example), all I have to do is look through the static functions on int. (And out of the window goes the second sentence of my original post)

baavgai, on 31 Mar, 2009 - 02:06 PM, said:

I'm assuming the translation here is "Useless" equals "Won't get me a job".

...

For a new programmer, I'd recommend C# over C++ for job prospects. However, why not learn them both? Every computer language will teach you something a little different.

If you're just looking to learn a computer language strictly for the job prospects, please find another career path. I've seen enough paycheck programmers and they all suck.

Don't worry, the size of the paycheck isn't what worries me. It's actually getting a paycheck that does - as even though by the time I (Hopefully) go study CS at University I will have been casually/hobbyist programming for around 9 years, I know I'll still be worrying about getting a job afterwards. I'm pretty much convinced that I won't be good enough, or won't have a good enough grip of standards to get hired.

Re: Is it useless learning C# rather than C++?

Posted 01 April 2009 - 12:33 PM

From what I've seen, if gaming is what your interested in doing, C++ is still the clear choice.

When it comes to applications, If you want an extensive gui, C# is very nice and easy to make, and perform well. C# is also good on independent devices that dont necessarily utilize a full OS. for example a cash register or medical device( like the heart monitor). Especially if .NET will be utilized.

I dont know what you've been hobby coding for the last few years, but you should have more confidence in yourself as a programmer. if you only know Java, C#, and a couple scripting languages, thats fine. even if the job doesnt request or require it.

I am way better with C# myself, but I do have a few tricks in C++ with making scripts to run cmd. which I like more, cause I dont need VS to be on the machine to run...cough...cough. anyway....

Do not pass on the opportunity to apply for a job, because you think your under qualified, let the company make that decision. Lastly if your going to get a job that requires some obscure tool or language dont worry. The first thing you do when you get hired is go to training. they will train you on how to use all their libraries, tools, and languages that you need.

Re: Is it useless learning C# rather than C++?

Posted 20 April 2009 - 06:52 AM

I agree with others. Learning both is a good idea. If you know C/C++ and C# picking up Java will be relatively easy, which could also help you in finding jobs. C# uses .NET and Java has it's libraries. I'm starting Java and find it incredibly similar to C#. As well, if you know C# learning VB.NET should be relatively painless as well. Like baavgi said, C# is the new kid, C++ has been around a lot longer and plain C even longer.

Re: Is it useless learning C# rather than C++?

Posted 09 May 2009 - 01:11 PM

If I may ask another question, I've looked on several websites and the consensus seems to be that C++ apps are faster but take much longer to develop and C# apps are slower but allow for RAD. Now whenever I bring this up around C# people they always say, "Well why don't we write everything in assembly, its fast!" but I'm not sure when you would want to use C# rather than C++, besides development time. Companies would want their apps to be fast, although it would cost them more dev time and $ to get them written in C++. So where is C# being used where C++ was? How is C# changing things? (I don't want to say replacing C++, more of a recasting )

XD take a look at SwiftStriker's whitespace link, hilarious,

This post has been edited by crazyjugglerdrummer: 09 May 2009 - 01:12 PM

Re: Is it useless learning C# rather than C++?

The more functionality that is put into a language the slower it is going to be, so the API calls that C# add in specifically designed for .net and the windows OS the slower it will run.

BUT the speeds of modern computers make this slow-down effect almost negligible for most desktop applications. Once you add in functionality like doing large amounts of processing the speed difference is noticeable...

So as much as I hate to admit, C# is a good language to know if you plan to be developing on the Windows platform