C# or C++?

  • (2 Pages)
  • +
  • 1
  • 2

16 Replies - 1050 Views - Last Post: 19 January 2012 - 07:05 PM Rate Topic: -----

Topic Sponsor:

#1 shanakar  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 20
  • Joined: 16-March 09

C# or C++?

Posted 11 December 2011 - 02:18 AM

Hi all. I hope this is the right thread to post this as I couldn't really find an appropriate board. I have been coding in PHP/MySQL since about 2002 and I've been wanting to get into game programming. Now I'm not one of those guys who will sit here and say "yeah I am great at PHP/MySQL so it will be easy for me". No, I do understand the differences of the two but when I look at C++ or C# code, I do seem to understand what is going on.

I don't get much free time due to my work but my desire is to choose a language between C# and C++ and learn the language as best as I can and use it to create games. I did read the thread on here where there are over 100 posts of what members here think is the best language to start with, but that thread has so many languages I've never even heard of. I'm only interested in the commonly used C# and C++ languages. What do you experienced programmers think is the best for a beginner like me to side with? C# which can be easier on newcomers and when it errors, shows you a more solid message of where the problem lies. Or task my brain cells with C++ and also learn the skills of trying to formulate where the problem is, how to fix it etc?

When I look and read books of both languages, while the codes are different, they kinda seem the same to me. What I mean by that is, I understand when looking at the codes that they are doing the same thing. They are a language that is written to tell the software what to show, what to do, how to react, etc etc. Just like we use english, that is a language in itself.

So what do you all think is the best one for a beginner desiring to slowly begin learning to develop games should pick up? C++ or C#? I was leaning more towards C# and possibly using Unity3D and learning that too. But was wondering what the experienced folk thought on here too.

Is This A Good Question/Topic? 0
  • +

Replies To: C# or C++?

#2 stayscrisp  Icon User is offline

  • Lets-a play!
  • member icon

Reputation: 800
  • View blog
  • Posts: 3,690
  • Joined: 14-February 08

Re: C# or C++?

Posted 11 December 2011 - 02:48 AM

This question has been asked and answered a huge amount of times on this forum. A quick search in the top right corner will show you a lot of topics with all the information you need.
Was This Post Helpful? 2
  • +
  • -

#3 sparkart  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 103
  • View blog
  • Posts: 678
  • Joined: 16-February 09

Re: C# or C++?

Posted 11 December 2011 - 04:25 AM

Learn C#.

Windows Phone 7
XNA
Unity3D
Playstation Suite

For iOS and Android you could also use ExEn with XNA.

...just to name a few.
Was This Post Helpful? 0
  • +
  • -

#4 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 848
  • View blog
  • Posts: 6,182
  • Joined: 18-October 08

Re: C# or C++?

Posted 11 December 2011 - 06:05 AM

C# is usually easier to pick up than C++. It would also be helpful if you plan to learn C++ in the future as it will make learning C++ easier. I also say C# because of XNA. XNA is probably one of the easiest ways to get into game programming but I'm probably a little biased because of my love for XNA. In the end it will end up a matter of preference and which you like better. Try a couple simple programs in each to get a feel for the language and go for the one that makes more sense to you.
Was This Post Helpful? 1
  • +
  • -

#5 Regashi  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 15-July 10

Re: C# or C++?

Posted 18 January 2012 - 01:15 PM

To be honest i'd go with C++, that way if you feel you want to go into the industry at a later point you wouldn't have wasted however long it takes you to learn C#, dont worry about the engine or anything because companies have their own engines anyway..

But if you dont want to get in the industry and just want to do it as a hobby then C# + XNA or Unity is the way to go. :)

just my $0.02
Was This Post Helpful? 0
  • +
  • -

#6 Miikalsen  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 16
  • Joined: 29-December 11

Re: C# or C++?

Posted 18 January 2012 - 02:21 PM

Ill suggest you start with C# and XNA, because of all the options you have for platforms to program on (Windows, Windows Phones, Xbox, linux and so on..) And that XNA is very nice for gaming and so on.. And as you say that you can use Unity which is a great Game Engine... Also i am starting to learn C# so it could be easier/ more fun and so on if we could learn together..


But C++ is a very advanced language with alot of stuff.. So its all up to your opinion really
Was This Post Helpful? 0
  • +
  • -

#7 ButchDean  Icon User is offline

  • Pro Games Programmer
  • member icon


Reputation: 689
  • View blog
  • Posts: 2,504
  • Joined: 26-November 10

Re: C# or C++?

Posted 18 January 2012 - 04:15 PM

View Postshanakar, on 11 December 2011 - 09:18 AM, said:

Hi all. I hope this is the right thread to post this as I couldn't really find an appropriate board. I have been coding in PHP/MySQL since about 2002 and I've been wanting to get into game programming. Now I'm not one of those guys who will sit here and say "yeah I am great at PHP/MySQL so it will be easy for me". No, I do understand the differences of the two but when I look at C++ or C# code, I do seem to understand what is going on.

I don't get much free time due to my work but my desire is to choose a language between C# and C++ and learn the language as best as I can and use it to create games. I did read the thread on here where there are over 100 posts of what members here think is the best language to start with, but that thread has so many languages I've never even heard of. I'm only interested in the commonly used C# and C++ languages. What do you experienced programmers think is the best for a beginner like me to side with? C# which can be easier on newcomers and when it errors, shows you a more solid message of where the problem lies. Or task my brain cells with C++ and also learn the skills of trying to formulate where the problem is, how to fix it etc?

When I look and read books of both languages, while the codes are different, they kinda seem the same to me. What I mean by that is, I understand when looking at the codes that they are doing the same thing. They are a language that is written to tell the software what to show, what to do, how to react, etc etc. Just like we use english, that is a language in itself.

So what do you all think is the best one for a beginner desiring to slowly begin learning to develop games should pick up? C++ or C#? I was leaning more towards C# and possibly using Unity3D and learning that too. But was wondering what the experienced folk thought on here too.

You should be leaning toward the language that you feel you are better at in terms of producing working code with minimal effort.

I would give both languages a try and see which one you like. Granted that C# is easier, but if you are also just as good at C++ why not take that route as well?
Was This Post Helpful? 0
  • +
  • -

#8 Serapth  Icon User is offline

  • D.I.C Head


Reputation: 49
  • View blog
  • Posts: 145
  • Joined: 17-August 11

Re: C# or C++?

Posted 18 January 2012 - 08:51 PM

View PostRegashi, on 18 January 2012 - 08:15 PM, said:

To be honest i'd go with C++, that way if you feel you want to go into the industry at a later point you wouldn't have wasted however long it takes you to learn C#, dont worry about the engine or anything because companies have their own engines anyway..

But if you dont want to get in the industry and just want to do it as a hobby then C# + XNA or Unity is the way to go. :)

just my $0.02



Do not look at learning any language as "time wasted", it certainly isn't, unless you have some odd brain disorder that limits the amount of facts your brain can store. In which case, programming is probably the wrong profession. I've been at this professionally for about 15 years, and in that time I've learned or used a good dozen languages, not one of which was a waste of my time, even languages that I hated completely taught me tons. Hell, even COBOL that I had to cover back in school gave me a few insights into programming I wouldn't have gotten otherwise.


FYI, you can get into the industry knowing only C#, but it will be a bit of a fight. Frankly newbie game devs ( aka, junior developers/interns ) are expected to know more or less nothing, which is true in most cases. If you have a demonstrated ability to show you can create games, your language skills will mean very little at the start. Besides, if you spent a few years working in C#, moving to C++ won't be nearly as difficult as starting out with C++.

This post has been edited by Serapth: 18 January 2012 - 08:55 PM

Was This Post Helpful? 0
  • +
  • -

#9 ButchDean  Icon User is offline

  • Pro Games Programmer
  • member icon


Reputation: 689
  • View blog
  • Posts: 2,504
  • Joined: 26-November 10

Re: C# or C++?

Posted 18 January 2012 - 09:04 PM

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

FYI, you can get into the industry knowing only C#, but it will be a bit of a fight.

Not quite! A lot of tools in games are written in C#, as well as asset management code, so that isn't true.

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

Frankly newbie game devs ( aka, junior developers/interns ) are expected to know more or less nothing, which is true in most cases.

WTH, dude?! That isn't true! They are expected to have an understanding of how games are made, coupled with being good programmers. The reason why they are interns is to give them a head start with experience - not because they know nothing.

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

If you have a demonstrated ability to show you can create games, your language skills will mean very little at the start. Besides, if you spent a few years working in C#, moving to C++ won't be nearly as difficult as starting out with C++.

How can you demonstrate you can create games if your language skills don't matter? The language skills have to be good in order to make games! This follows on from my last comment about interns needing to be good programmers and have an idea of how games are made.

Wow.
Was This Post Helpful? 0
  • +
  • -

#10 The Adrian  Icon User is offline

  • New D.I.C Head

Reputation: 10
  • View blog
  • Posts: 31
  • Joined: 09-January 12

Re: C# or C++?

Posted 18 January 2012 - 09:32 PM

View PostButchDean, on 18 January 2012 - 09:04 PM, said:

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

FYI, you can get into the industry knowing only C#, but it will be a bit of a fight.

Not quite! A lot of tools in games are written in C#, as well as asset management code, so that isn't true.

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

Frankly newbie game devs ( aka, junior developers/interns ) are expected to know more or less nothing, which is true in most cases.

WTH, dude?! That isn't true! They are expected to have an understanding of how games are made, coupled with being good programmers. The reason why they are interns is to give them a head start with experience - not because they know nothing.

View PostSerapth, on 19 January 2012 - 03:51 AM, said:

If you have a demonstrated ability to show you can create games, your language skills will mean very little at the start. Besides, if you spent a few years working in C#, moving to C++ won't be nearly as difficult as starting out with C++.

How can you demonstrate you can create games if your language skills don't matter? The language skills have to be good in order to make games! This follows on from my last comment about interns needing to be good programmers and have an idea of how games are made.

Wow.


I agree. I wouldn't let anyone on my team if they weren't good at something we needed. And I say this because I am in a position to judge that.

I posted earlier today in a discussion about which language to start off with. It might be useful for you to look into it
Was This Post Helpful? 1
  • +
  • -

#11 codeofc  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 44
  • Joined: 05-November 11

Re: C# or C++?

Posted 18 January 2012 - 09:39 PM

If you want to see results fast, go with XNA. If you want more flexibility, go with C++, and you'll find more libraries to choose from.

This post has been edited by codeofc: 18 January 2012 - 09:40 PM

Was This Post Helpful? 0
  • +
  • -

#12 Serapth  Icon User is offline

  • D.I.C Head


Reputation: 49
  • View blog
  • Posts: 145
  • Joined: 17-August 11

Re: C# or C++?

Posted 19 January 2012 - 08:01 AM

View PostButchDean, on 19 January 2012 - 04:04 AM, said:

WTH, dude?! That isn't true! They are expected to have an understanding of how games are made, coupled with being good programmers. The reason why they are interns is to give them a head start with experience - not because they know nothing.


This is a meta-conversation in itself, but in my experiences -- across many industries, not just gaming, 0 year programmers are hired more for aptitude then any demonstrated ability. Nobody is expected ( at 0 day again ), to drop in and be productive. People are hired on perceived aptitude, at least from my experiences. Now, this is very much not true for experienced positions.


Quote

How can you demonstrate you can create games if your language skills don't matter? The language skills have to be good in order to make games!


Let me be more specific, I obviously wasn't specific enough.

If you have a demonstrated ability to show you can create games, your particular language skills will mean very little at the start.

Clearer now?

I am essentially agreeing with you, or at least your comment "interns needing to be good programmers ", that I agree with completely, this is exactly what you hire for. You don't however hire for explicit ability, you hire based on potential. So if someone comes in showing the understand coding, have written a wickedly good game in a non-core language to what your dev house uses, generally that person will be hired. Or at least should be if the person doing the hiring knows their stuff.


In no place I have ever been, has an intern or new grad been hired then thrown right into core coding. Either they get a lower level responsibility as they learn the setting, environment, tools and yes, even learning the language. Or they spend some time learning the code base, be it refactoring, bug hunting, whatever for a period of time.

In my particular case, I was paired with a senior dev and basically given a months orientation as I got to know the stuff I needed. After that I was pretty much handed the current bug list and told to "get at it", which is more or less what I spent the next four months doing. Granted, this was some time ago in an age where scripting was nowhere near as common, so I probably got involved in the core coding much faster then I would expect now. In the process, I realized what I knew about C++, wasn't much and my mentor applauded me on knowing as much as I did. Seriously, you do as much, or more, learning your first year on the job as you do the entire time in University. And I went in with 10 years of hobbyist experience. They simply didn't expect more of me either, again, because new hires were hired on aptitude.

This post has been edited by Serapth: 19 January 2012 - 08:08 AM

Was This Post Helpful? 0
  • +
  • -

#13 ButchDean  Icon User is offline

  • Pro Games Programmer
  • member icon


Reputation: 689
  • View blog
  • Posts: 2,504
  • Joined: 26-November 10

Re: C# or C++?

Posted 19 January 2012 - 11:34 AM

View PostSerapth, on 19 January 2012 - 03:01 PM, said:

This is a meta-conversation in itself, but in my experiences -- across many industries, not just gaming, 0 year programmers are hired more for aptitude then any demonstrated ability. Nobody is expected ( at 0 day again ), to drop in and be productive. People are hired on perceived aptitude, at least from my experiences. Now, this is very much not true for experienced positions.

Again I don't agree. 0 year programmers are also hired on ability, as well as aptitude - hence the requirement in games generally that a game demo be shown to the studio by prospective programmers.

Nobody at any level can be productive from day one.

View PostSerapth, on 19 January 2012 - 03:01 PM, said:

Let me be more specific, I obviously wasn't specific enough.

If you have a demonstrated ability to show you can create games, your particular language skills will mean very little at the start.

Clearer now?

Nope. Because the language chosen is actually a big indicator of how well you understand game code architecture. An example being if someone came to me having written a game in PyGame vs. someone who wrote it in C/C++, I would have more confidence in the latter because it demands more understanding.

View PostSerapth, on 19 January 2012 - 03:01 PM, said:

I am essentially agreeing with you, or at least your comment "interns needing to be good programmers ", that I agree with completely, this is exactly what you hire for. You don't however hire for explicit ability, you hire based on potential. So if someone comes in showing the understand coding, have written a wickedly good game in a non-core language to what your dev house uses, generally that person will be hired. Or at least should be if the person doing the hiring knows their stuff.

Then you are contradicting yourself if you agree with me. From the gist of what you have said you were indicating that interns and junior programmers come in as 'blank sheets' needing to be mentored to even have a bit of knowledge of the tasks at hand. I'm saying that isn't true.

View PostSerapth, on 19 January 2012 - 03:01 PM, said:

In no place I have ever been, has an intern or new grad been hired then thrown right into core coding. Either they get a lower level responsibility as they learn the setting, environment, tools and yes, even learning the language. Or they spend some time learning the code base, be it refactoring, bug hunting, whatever for a period of time.

Yep, very true.

View PostSerapth, on 19 January 2012 - 03:01 PM, said:

In my particular case, I was paired with a senior dev and basically given a months orientation as I got to know the stuff I needed. After that I was pretty much handed the current bug list and told to "get at it", which is more or less what I spent the next four months doing. Granted, this was some time ago in an age where scripting was nowhere near as common, so I probably got involved in the core coding much faster then I would expect now. In the process, I realized what I knew about C++, wasn't much and my mentor applauded me on knowing as much as I did. Seriously, you do as much, or more, learning your first year on the job as you do the entire time in University. And I went in with 10 years of hobbyist experience. They simply didn't expect more of me either, again, because new hires were hired on aptitude.

I was actually never mentored when I started out. I was immediately working with senior programmers, and by work was also reviewed by principal engineers who critiqued it. Within 5 to 6 months I was working on senior-level tasks that were beyond my current job spec. I even had other programmers at my level give me their tasks to resolve.

We all develop at different rates, but I still maintain that no programmer joins the games industry a complete novice - they always come in with something a little bit extra that sets them out from the crowd.
Was This Post Helpful? 0
  • +
  • -

#14 RandomOctopus  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 18
  • Joined: 12-January 12

Re: C# or C++?

Posted 19 January 2012 - 05:14 PM

If you want to pick up programming games as your day job, I would say that you would have to choose C++. However if you want a easier start to the world of game programming then pick up C# with either XNA or some other kind of game library.
Was This Post Helpful? 0
  • +
  • -

#15 Regashi  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 15-July 10

Re: C# or C++?

Posted 19 January 2012 - 06:30 PM

View PostSerapth, on 18 January 2012 - 08:51 PM, said:

View PostRegashi, on 18 January 2012 - 08:15 PM, said:

To be honest i'd go with C++, that way if you feel you want to go into the industry at a later point you wouldn't have wasted however long it takes you to learn C#, dont worry about the engine or anything because companies have their own engines anyway..

But if you dont want to get in the industry and just want to do it as a hobby then C# + XNA or Unity is the way to go. :)

just my $0.02



Do not look at learning any language as "time wasted", it certainly isn't, unless you have some odd brain disorder that limits the amount of facts your brain can store. In which case, programming is probably the wrong profession. I've been at this professionally for about 15 years, and in that time I've learned or used a good dozen languages, not one of which was a waste of my time, even languages that I hated completely taught me tons. Hell, even COBOL that I had to cover back in school gave me a few insights into programming I wouldn't have gotten otherwise.

FYI, you can get into the industry knowing only C#, but it will be a bit of a fight. Frankly newbie game devs ( aka, junior developers/interns ) are expected to know more or less nothing, which is true in most cases. If you have a demonstrated ability to show you can create games, your language skills will mean very little at the start. Besides, if you spent a few years working in C#, moving to C++ won't be nearly as difficult as starting out with C++.


I think "time wasted" was the wrong thing to say. I think "time misused" would have been better, in my only probably. Im only going on facts i know, so i appreciate someone with 15 years experience correcting me on this. I just though most of the game industry's standards where mainly C++ based. But like i said im just going on the facts i have been told, so thanks. ^^

This post has been edited by Regashi: 19 January 2012 - 06:31 PM

Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2