Hello everyone!
I'm making a multiplayer game, style of Soldat and the new Liero clones... But I'm stuck, I don't know if I should do it in C++ or C#... I prefer C# by a million times, C++ is too complicated, but how would the performance be affected if I do it in C#?
Thanks! [grin]
PS: I meant C Plus Plus, but it doesn't let me display the pluses...

Couple things, firstly, there was a thread just a couple hours ago by the title of "C# or C++?". Before that, there have been quite litterally hundreds of threads addressing this same issue. Searching is a Good Thing.

Secondly, you've already answered your own question. You prefer C# by a large amount. Use it. Just go ahead and use it.

I'd say unless you are making some AAA title where you need to eek every last bit of performance out the machine by hand coding memory management and SIMD code .. go with what you like. For the style game you are trying to make, C# is more than enough. Going with what you are comfortable with and actually getting something done is much more important than getting a few more fps.

Original post by KixdempI prefer C# by a million times, C++ is too complicated, but how would the performance be affected if I do it in C#?

Performance would probably be (significantly?) better in C#.

Are you TRYING to start a battle?

Nope, but as it looks like he can handle c# much better than c++, the chances are big that he get better performance out of his c# work, than his c++ work. not to say, chances that he actually get the work done are much bigger then, too.

If that's not the help you're after then you're going to have to explain the problem better than what you have. - joanusdmentia

Original post by KixdempI prefer C# by a million times, C++ is too complicated, but how would the performance be affected if I do it in C#?

Performance would probably be (significantly?) better in C#.

Are you TRYING to start a battle?

Why would he be starting a battle? All he did was answer the question perfectly. The OP already knows the C# language and anticipates difficulty in some areas of C++. Right there alone should tell you that performance wise C# would be the ideal language to use. The only people that would say otherwise are not software engineers, they are language evangelists.

At least I have the spine to be somebody and to have views. I don't need to hide behind anonymous posting, and I don't need to sugar-coat reality for the sake of political correctness or whatever the hell it is that people seem to expect these days.

To build upon what has already been said: C++ is not a magic wand that makes your program run faster. On average, the two languages are equivalent, with C++ coming out ahead in a significant way only in the hands of experienced programmers who took the time to optimize bottlenecks in their code.

If you are not an experienced C++ programmer, you should not and cannot expect any kind of automatic performance gain: on the contrary, you might achieve worse performance with C++ because you are not used to its idioms and the language does not take care of certain optimizations for you.

You can choose to learn C++ thoroughly and then spend additional time optimizing the game, but this will probably triple or quadruple the time that you will spend creating your game.

Original post by PromitHe asked. I answered. (And answered truthfully, I might add.)

And also in a way which is sure to get counterarguments.

I've not seen any actual counterarguments yet. Those counterarguments need only be addressed should they be raised. There's already been enough argument in favor of C# that no further elaboration is needed.

Quote:

You seem to love defending C#, mr. Microsoft fanboy.

Kind of like how you seem to love circumventing (IP) bans, Mr. AnonJavaDev?

Original post by NImOne note: I've never fooled with C#, but I understand that it's harder to write cross platform code with it. I'm not sure though. Will someone either back me up or shut me up?

It's not harder per se, though there are areas of the framework that you may have to avoid. (System.Windows.Forms is one of the sketchy parts.)

What sucks, though, is that the dev tools are not that evolved, especially on Mac. Doing C# work on OSX was a miserable experience. Sure the programs compiled and ran and even rendered, but it was akward, to say the least.