   C++ or C# Development
  Basically I'm a complete newb to developing games. I'm trying to figure out if C++ or C# would be better for my needs. I'd like to be able to compile the code on as many platforms as possible. From what I understand C# is mainly for Windows and Xbox development but C# should be easier to learn? I'm also thinking due to C++ being older that more people probably know how to use it? Is there a difference in how much code needs to be written to make a program? Ex: C++ needs 1,000 lines of code while C# could do the same thing in 500?If for instance I also wanted to make an application, would that change which development language would be best? I don't really intend to do this but if it comes up I'd like the option of using the same language.   
  Try this link:http://www.gamedev.net/community/forums/mod/journal/journal.asp?jn=433428&cmonth=5&cyear=2007   ;  Hard to say. What platforms are you specifically targetting? If you're targeting Xbox, C# is the only way to go for anyone without a huge budget. If you're targeting Linux, and Mac, there's the Mono project, which is a .NET virtual machine for those systems. I hear it's pretty good, but you'll need to use cross-platform libraries for graphics, windowing, input, and sound as opposed to the quite nice XNA for Windows and Xbox. C++ will be able to support Windows, Linux, and Mac, but not Xbox. You'll still need to use a cross-platform library as in C# running on Mono.As for the language itself, C# is almost certainly the nicer language. It provides many modern features which C++ really can't match. The Visual Studios C# 2008 IDE is absolutely fantastic - perhaps the single best free (see the Express Edition) IDE for any programming language bar none. There's plenty of information out about both languages, so you're not going to be left out alone just because you choose the newer language. Library support might be a little better for C++, but C# has many excellent libraries; XNA and SFML are two I can recommend for making games. Overall C# is generally going to be a better choice.Though there are about one million of these threads here on GD.net. Search them if you want more specifics. The most important thing is that you don't play the language hop game and switch languages every time you anything nice about one.   ;  Thanks for the information everyone. :)   ;  If you are new to game programming and want to see some results pretty fast, you should try a rendering engine like OGRE. With C++ and OGRE in 50 lines you have a cross platform (Windows + Linux + maybe more I did not try) 3D scene and are ready to play around with some of the included 3D models.About languages, well I don't have experience with C# (and not planning to either) so I can't say to much about it, but those discussions (or should we call it fights) come around about twice a week here, there is enough to read about it through the above posted link. Most of the time you will see "this language is easier to learn" nonsense, truth is that any language can be screwed up. Get yourself a good book, search a good tutorial or find a good teacher if you want to learn a language easily.The way you approach a language also makes a different, if you start with DirectX/OpenGL or even worse WIN32 API, it will be much harder then when you use a prebuild rendering engine like OGRE or Irrlicht. Or for other kind of applications using regular windows rather then render windows, using something like wxWidgets is much easier to get started with then messing with WIN32 API or X11 to create it yourself. Specially when beginning, you could use such a tool to quickly get started and learn the language, and once you know the language you can make such a framework yourself (if you want to that is, you can also keep using those tools).   ;Quote:Original post by EzbezHard to say. What platforms are you specifically targetting? If you're targeting Xbox, C# is the only way to go for anyone without a huge budget. If you're targeting Linux, and Mac, there's the Mono project, which is a .NET virtual machine for those systems. I hear it's pretty good, but you'll need to use cross-platform libraries for graphics, windowing, input, and sound as opposed to the quite nice XNA for Windows and Xbox. C++ will be able to support Windows, Linux, and Mac, but not Xbox. You'll still need to use a cross-platform library as in C# running on Mono.As for the language itself, C# is almost certainly the nicer language. It provides many modern features which C++ really can't match. The Visual Studios C# 2008 IDE is absolutely fantastic - perhaps the single best free (see the Express Edition) IDE for any programming language bar none. There's plenty of information out about both languages, so you're not going to be left out alone just because you choose the newer language. Library support might be a little better for C++, but C# has many excellent libraries; XNA and SFML are two I can recommend for making games. Overall C# is generally going to be a better choice.Though there are about one million of these threads here on GD.net. Search them if you want more specifics. The most important thing is that you don't play the language hop game and switch languages every time you anything nice about one.Also, don't forget the iphone which seems to be pretty hot new platform to program for and it uses a customized version of C called Objective-C, so you really need to decide what platform you are targeting like Ezbez said.[Edited by - daviangel on June 30, 2009 7:51:48 PM];  Ezbez spelled it out nicely. One thing to consider regarding platform support: As a beginner, getting anything done is going to be a fairly mammoth effort. Most likely, your first (and second and third) effort is not going to be anything more than a learning experience. From that perspective, platform support isn't exactly a major requirement.   