C # / C++ Not A Debate But Your Advice / Experience

Started by
33 comments, last by yadango 17 years, 8 months ago
For someone looking to build casual games, would you recommend C# pr C++? I'm not looking to declare one language the winner or anything like that! :) By casual games, I mean relatively simple 3D puzzle games...maybe a simple driver aimed at children. No Project Gotham Racing or Halo. ;) I've got enough of a handle on C++ that I could probably finish a game in C++. I understand most of books like Effective C++ and have strived to learn "proper" and modern C++. But I've been hearing more and more about C#. I would really appreciate it if you could tell me your opinions and a bit about any experience you might have with either language. I'm not sure why, but I'm worried that if I move to C#, I'll never finish learning C++. Do I need to master C++? I would like to work for a game developer some day (that's probably a vote for C++), but I would prefer to make casual games by myself or as part of a small independent team.. In the end, it won't matter too much as the things I'm struggling with have more to do with structuring my game engine moreso than language specific issues. But it seems to me that C# would be fast enough (don't know much about how it compares with C++ these days) and would save me some time and headaches. Thank you, I look forward to your responses! :)
Advertisement
Personal Opinion/Situation (Your Strategy May Vary):

learn both. i've come to the conclusion that i'll probably be at best always a hobbyist game developer, and that my meat and potatoes is windows programming. even though C++ is still dominant in windows development, C# is coming strong and i realize now that i must learn both to remain competative in this workforce.

my primary concern is work, having a stable job, putting food on the table, etc. so if i was a serious game developer, i would still choose C++ (the jobs are still primarily dominated by C++, though i looked at some job listings recently and saw a number of C# ones too so it's coming along). as a hobbyist, i'm probably going to try fiddling with both.

Y-Go
Quote:Original post by Low Bias
For someone looking to build casual games, would you recommend C# pr C++? I'm not looking to declare one language the winner or anything like that! :)

I would definately recommend learning C# and starting with that building some small casual games. You can always learn C++ later on down the road if you wanteded to go in that direction. Learning the design, algorithms, and generally how to solve game-related problems is much much more important than something like a language choice. I've personally used C++ and C# both in commercial and independant development, and if I were to build casual games I would target C# and the .NET platform right now.

There are pros and cons to all choices. I mean when using a the languages on the CLR you have the .NET framework dependency, your API dependency (MDX/XNA), etc. It is also much faster to develop with, less error prone, etc.
I too have used languages both in commercial projects and i would go for C# in your case. The development time is a lot shorter and .Net Framework is a breeze to work with. However, i haven't found any great C#/OpenGL ports, however Managed DirectX + C# works great. So if you plan to use OpenGL i would stick to C++. Otherwise, C#;

I do recommend to keep learning C++ as well, if you plan to work as a game developer, because most companies still require experience with it.

Greetings.
Quote:Original post by Limitz
However, i haven't found any great C#/OpenGL ports.

Out of curiosity (as I have never used it myself) what did you find bad with the Tao.OpenGL library? I have actually heard good things about it and I believe there is one commercial C# game that uses it.
In my experience, using C# means your spending more time learning how to write games, and less time trying to circumvent C++ foibles.
I second... er, 12th... C#. With Tao.OpenGL or MDX there is no reason to burden yourself with C++ at this point, unless you feel you need to learn C++ (which, to be fair, is a very real possibility).

I do recommend learning C++ at some point, though. It isn't going anywhere, and most places use it. But it really doesn't offer anything beyond that offered by C# to the average hobbyist developer in terms of performance or features, beyond a LOT of useful libraries when you get into more advanced stuff.
Quote:Original post by Saruman
Quote:Original post by Limitz
However, i haven't found any great C#/OpenGL ports.

Out of curiosity (as I have never used it myself) what did you find bad with the Tao.OpenGL library? I have actually heard good things about it and I believe there is one commercial C# game that uses it.


Well, I believe i do remember trying it a long time ago, but i coulnd't get it to compile, but i checked it just now and it really seems very mature. So I guess the point of C# not in combination with OpenGL is off the table :)...
Sorry for that :)

Greetings.
In my experience, its easier to write, maintain, and debug a MMORPG written in C# then it is to write, maintain, and debug a MMORPG written in Procedural-C.
Quote:Original post by Thevenin
In my experience, its easier to write, maintain, and debug a MMORPG written in C# then it is to write, maintain, and debug a MMORPG written in Procedural-C.


The OP was wasking about C# and C++, not C# and C.

Anyway, from my experience, the differences betweeen C++ and C# are not as big as most people make them out to be. One isn't always faster, one isn't always easier to work with. Since you already have a base in C++ I'd say keep going with that and learn other langauges on the side. It's great to know more than two langauges and once you learn your first, the rest are a lot easier.

This topic is closed to new replies.

Advertisement