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.
C++ or C#?
Started by whitt2007, Apr 27 2007 05:56 AM
14 replies to this topic
Sponsor:
#3 GDNet+ - Reputation: 1858
Posted 27 April 2007 - 06:12 AM
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).
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).
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
#4 Members - Reputation: 122
Posted 27 April 2007 - 06:17 AM
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.
#5 Members - Reputation: 188
Posted 27 April 2007 - 06:30 AM
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
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
Black CloakEpee Engine.
#7 GDNet+ - Reputation: 1858
Posted 27 April 2007 - 06:46 AM
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#.
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#.
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
#9 Members - Reputation: 873
Posted 27 April 2007 - 07:32 AM
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
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
#10 Members - Reputation: 1583
Posted 27 April 2007 - 07:51 AM
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.
#11 Members - Reputation: 122
Posted 27 April 2007 - 09:24 AM
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.
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.
#12 Members - Reputation: 122
Posted 27 April 2007 - 10:09 AM
"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.
what are the main languages? I'm guessing C++ and C# are two of them.
#13 Moderators - Reputation: 2487
Posted 27 April 2007 - 10:55 AM
* 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.
* 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.
#14 Members - Reputation: 520
Posted 27 April 2007 - 05:14 PM
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.
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
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
#15 Moderators - Reputation: 1666
Posted 27 April 2007 - 05:20 PM
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






