• Advertisement
Sign in to follow this  

C++ or C#?

This topic is 3922 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello all, I am currently in school for games and simulations at Devry University. I have been advised that I should learn C# as that is the direction games will take by the time I have graduated. No, disrespect to the academic advisors there, but I wanted an answer to this question from people in the industry. Should I focus on learning C# or C++? Thanks in advance for all your advice.

Share this post


Link to post
Share on other sites
Advertisement
If you're serious about entering the game industry, learn c++. It'll be used by the game industry for a long while yet. And if you already know c++, c# is extremely easy to pick up.

Share this post


Link to post
Share on other sites
C++ or C#?

C# is a better language for learning of the two, with a cleaner, easier, syntax and programming style (which does not equate to "underpowered").

Focus on learning how to program, not on learning a language (once you know how to program, it is easy to transfer that skill to other languages). C++ is not an easy language given its nature, and I feel that that would hinder you (hence many beginners starting with BASIC, Logo and so on).

Share this post


Link to post
Share on other sites
I have a solid grasp of the programming process. I have studied C++ and BASIC on my own. I have taken introductory C++, BASIC, and C# classes in college. I think I have enough understadning of programming concepts to move on. It is just the direction I am uncertain of. Most of the programming threads I see talk about C++, very few on C#. I jst don't want to go down the road mastering one language only to find it to be a dead end.

Share this post


Link to post
Share on other sites
I agree with gharen2

If you want to work in the Game industry you should focus on C++
C# right now is only really use for creating tools in the industry

plus if you learn C++ first you can pick up C# on your own in a couple of weeks

Share this post


Link to post
Share on other sites
I agree with everyone else. If you're not planning to enter the professional industry, C# is the best choice.

Share this post


Link to post
Share on other sites
There is, then, no reason to study and work with both. Between my work and my own projects I'm currently using 6 different languages.

If going by blackcloak's rule ("C++ for games, C# for tools") you could, for example, work on a game project in C++ and write the tools in C#.

Share this post


Link to post
Share on other sites
I think it'd be foolish to neglect either one. Study both as both are and will very likely still be used in the industry by the time you graduate.

Share this post


Link to post
Share on other sites
C# in my opinion will be the future of programing, even game programing. Why? Because it is faster to code using C# and you don't have to worry about memory leaks.

As the computer power continues to increase the small performace increase you get from using C++ over C#, will not matter as much as the time it will take to create a C++ app over a C# app.

So I would suggest focus on C# because by the time you get out of school more people will be looking for C# and less looking for C++.

Now this is just my opinion and other's opinions may vary.
theTroll

Share this post


Link to post
Share on other sites
Quote:
Original post by gharen2
If you're serious about entering the game industry, learn c++.


I would suggest starting with a simple, non-idiosyncratic language, such as C# or Python, then moving on to C++, then learning a functional programming language (OCaml, Haskell, Scheme), then learning C and assembly.

The first language you learn does not matter in the game industry. Mine was Hypertalk, if anyone is interested, and it didn't prevent me from landing a C++ game programming job by the time I knew C, C++, PHP, Java and Caml as well. What actually matters, when looking for any programming job, is which five or six main languages you can use fluently, along with the other five or six languages you can read without effort.

So, I guess you should learn both, preferably starting with C#, and three or four other languages as well.

Share this post


Link to post
Share on other sites
I went through a Game Software Development course while enrolled in Westwood. We were learning C++ and C# almost simotaneously - or however the spelling goes on that. I would have to say like the person before that it doesn't reall matter what you learn as long as you learn it. C# would be easier to learn if you had some grasp on C++ but then again I had to learn a little about C# then some about C++ and we went back and forth.

Take a look at the two a choose on your own. I'm sure that before you are through with all of your courses that you will have learned the two of them anyways.

Share this post


Link to post
Share on other sites
"What actually matters, when looking for any programming job, is which five or six main languages you can use fluently, along with the other five or six languages you can read without effort." -- ToohrVyk

what are the main languages? I'm guessing C++ and C# are two of them.

Share this post


Link to post
Share on other sites
* There's no reason not to be fluent in the C/C++/C#/Java quartet. Might as well pick up VB, it's pretty much the same as C#.
* I'd also place a functional language or two (Common Lisp, Ocaml) as important.
* You also need a couple dynamic imperative languages (Python, Ruby, Lua) under your belt.
* Assembly and the processor architecture knowledge that goes along with it is critical (I'd suggest at least x86 and PPC in this day and age).
* Perl and PHP are handy to know, even though they're irritating badly designed failures.
* And of course you may as well pick up the major shader languages (HLSL, GLSL, Cg) and possibly their accompanying assembly.

Share this post


Link to post
Share on other sites
Having learned that you know the fundamentals of c++ and .net already, I'll adjust my original opinion. I agree with those who say to learn both.

Quote:
Original post by TheTroll
C# in my opinion will be the future of programing, even game programing. Why? Because it is faster to code using C# and you don't have to worry about memory leaks.


This isn't entirely accurate, because when doing graphics programming you're working with underlying unmanaged resources, and if you forget to dispose of them you get a memory leak. And you can still get leaks in managed code if you forget to remove references to an instance. But yes, in c# there are still far fewer ways in which you can get leaks. It does happen though. Unfortunately I know that from experience :P

Share this post


Link to post
Share on other sites
Quote:
Original post by ToohrVyk
Mine was Hypertalk, if anyone is interested


OMG! I remember that :)

I recently played around with PythonCard, and got a profound sense that while it was fairly usable for what it was supposed to do, they really didn't, well, *get it*. :( Hypercard was so far ahead of its time (except for the lack of colour support :( or anything resembling performance for animation) and I really wish it had been continued and developed better. x.x

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement