Game Development Community

C++ or C#?

by Leigh Bain · in Jobs · 02/23/2008 (4:08 pm) · 12 replies

I'm currently attending Devry's online college for Game & Simulation Programming. One thing that we have to do is choose between learning C# and C++. The academic advisors explained to me that they steer any student interested in programming video games into C++. However I have never heard of C# until I saw it on the list of courses and I'd really like to know - as someone wishing to be a programmer, which language should I learn? It's hard to make this decision when I have no idea what C# is used for :D. I appreciate any help in this that anyone can offer. I am not scheduled to take my core programming classes until later this year so I have time :).

- Leigh

About the author

Recent Threads


#1
02/23/2008 (4:46 pm)
You can't go wrong learning C++. Nearly every game engine and most major software applications are coded in it. The things you learn can also be applied to other languages like C#.

C# can be slower than C++ but with the speed of modern processors, and most games being GPU limited, I think C# will start to see more use. GarageGames is currently developing an engine using Microsoft's XNA in C#.
#2
02/23/2008 (4:53 pm)
If you can master c++, C# is a derivative of that.

C# is a programmer's diaper. it is meant to protect the OS from you.
and at the same time implement a buncha code for you.

C# would not get my recommendation as a language to learn first.

c++ will get you further the knowledge is more powerfull, has more market share.
and will continue to for the forseable future.

if you want to be able to make excuses for things you dont know, cant do or are incapable of doing
c# is the language for you.

if you want to be able to say there are no barriers only learning curve, then c++ is the language for you.

just my 2 cents, I am sure others will be along to disagree.
#3
02/23/2008 (6:27 pm)
C++ is nice because theres so many tools and libs freely avaliable to use in your game engines, whilst C# isn't mature enough to have a lot avaliable, plus its not as portable. Your pretty much stuck with windows and 360 whilst C++ will take you almost anywhere.
#4
02/24/2008 (3:10 pm)
Thanks for the information. I was planning to take C++, but wanted to make sure I wasn't missing something. I really appreciate the information about C#, I always forget to ask what it does and who better to ask than those who are most familiar with it. :)

Cheers and thanks :)

- Leigh
#5
08/30/2008 (10:18 pm)
For the most part, current roles on average look like this:

C#: In house tools programming (Gaining popularity)
C++: Engine Programming / Large Game Systems (Majority of companies)
Scripting (Python, UnrealScript etc...): Game Systems Programming, and prototyping (Gaining popularity)
#6
01/07/2009 (12:24 pm)
Where I have only been programming with C++ and Torquescript for about half a year (still much to learn), I would recommend C++.

I know very little about C#, other than it's a chip off of C++, and that Microsoft is working hard to make it an industry standard (it's in their blood). As a mac user, C# is of little interest to me. But then, I'm just a newbie developer.

And, as Dante said, learning some scripting languages may be beneficial later on.
#7
01/07/2009 (1:55 pm)
I would go with C++, but in addition work with an easier to use language such as ruby or python to practice with Object Oriented Programming techniques and design patterns such as MVC. That way you'll be able to try the advanced techniques quickly to get a good feel for them. Then you'll be better able to apply those techniques once you go through the harder and longer C++ learning curve.
#8
01/07/2009 (2:25 pm)
I would recommend C++ just for the fact that it is the industry standard, and the majority of games will likely be doing a large amount of their work in C++. It just seems like you would have many more opportunities in C++ for the time being. Criticizing C# doesn't really help with deciding which one is actually used in the industry (I do recall a discussion with a programming teacher who lived through the same thing with the assembly to C transition). I can certainly see C# becoming big, but right now, C++ is pretty major. I can't think of a single AAA game made in C# -- anyone know of any?
#9
01/19/2009 (10:21 am)
Learn them both :)
#10
01/19/2009 (10:27 am)
i am attending the same school. All i can say is go for for C++, but later on it is worth to learn both languages. They are pretty much the same but the sytax is slightly different.
#11
01/19/2009 (11:02 am)
C# = Much easier to learn, and much more productivity. If you're planning on a career of game development, I recommend to learn both C++ and C#. If you're planning on a standard programming career, I recommend to learn C# first. A lot of business development has moved, and is continuing to move, to C#.
#12
01/19/2009 (1:44 pm)
Sadly, C++ is the reality of working in this field. All I can say is good luck... And learn both STL & Boost if you end up going down the C++ path. I wasn't exposed to either through school and am perplexed why this still isn't an academic standard.

On the upside of things, we are doing a lot more stuff in C# as the libraries become more mature and hardware gets better.

C++ is probably one of the most horrible first languages one can learn... it was mine (Along with C) ;)